Uit de cursus: Principes van de informatica: programmeren

Maak uw eigen klassen en objecten

- Er komt veel kijken bij het bouwen van een klas. Het gaat niet alleen om het opbouwen van de leden van de klas, maar ook om te anticiperen op hoe jij en anderen ze zullen gebruiken. Het andere feit is dat terwijl je misschien weet wat je van plan was te doen met je lessen, iemand anders dat misschien niet doet. Het is dus belangrijk om een soort begeleiding of regels aan je klas toe te voegen om ervoor te zorgen dat ze worden gebruikt zoals je het bedoeld hebt. Laten we bijvoorbeeld een klasse nemen die een recensie voor een film definieert. Elk exemplaar bevat een filmrecensie. Een geheel getal wordt dus gebruikt om een film te beoordelen op een schaal van één tot vijf sterren. Lijkt simpel genoeg, toch? Jij, als de maker van de klas, weet dat een recensie ergens tussen nul en vijf sterren zou zijn. Maar zou iemand anders dat ook doen? Iemand anders denkt misschien dat een film waar ze absoluut van houden 10 sterren waard is, maar dat past niet binnen je klas. Dit is waarom. Als u een klasse maakt en een eigenschapslid instelt als een geheel getal, kan iemand elk gewenst geheel getal plaatsen: één, vijf, 10 of zelfs 1.000. Er is geen limiet omdat u geen richtlijnen of regels hebt gegeven voor hoe de accommodatie werkt. Als u een eigenschap zoals rating voor de klasse MovieReview neemt en deze instelt op een geheel getal, maakt u deze standaard openbaar toegankelijk voor iedereen. U wilt niet altijd onbeperkt openbaar toegang geven tot uw eigendommen. Je moet dus een beetje sneaky zijn. Je kunt leden van een klas meenemen en ze privé of openbaar maken. Openbaar betekent dat iedereen er toegang toe heeft. Ze kunnen toegang krijgen tot openbare eigendommen zoals elke andere variabele en openbare methoden zoals elke functie. Privéleden zijn alleen beschikbaar binnen de instantie en ze zijn verborgen voor alles buiten de klas. Dus voor onze filmbeoordeling kunnen we dat instellen als privé-eigendom. Maar nu hebben we een heel ander probleem. We hebben geen toegang tot de accommodatie. In plaats daarvan kunnen we twee openbare methoden maken waarmee we de waarde van de beoordeling kunnen krijgen en de waarde kunnen instellen. Dit worden getter- en settermethoden genoemd. In deze methoden kunnen we onze regels definiëren die van toepassing zijn op de filmclassificaties. We kunnen een geheel getal accepteren en binnen de methode kunnen we zien of deze hoger is dan vijf of minder dan nul. We kunnen het dan aanpassen als het buiten de grenzen is en vervolgens het privé-eigendom instellen volgens de regels die we voor de methode hebben gedefinieerd. Als we de andere kant op gaan, kunnen we een waarde krijgen van een andere methode die de waarde van het privé-eigendom retourneert. Met behulp van getters en setters kun je als programmeur een aantal regels maken die van toepassing zijn op je klasleden. Afhankelijk van de programmeertaal zijn er manieren waarop je getter- en settermethoden kunt vermommen als eigenschappen, zodat anderen die met je klassen programmeren het verschil niet kennen en je nog steeds de regels kunt instellen die je nodig hebt.

Inhoud