Intern
Wat is een getter en setter?
sobes.tech AI
Antwoord van AI
Een getter en een setter zijn speciale methoden die in objectgeoriënteerd programmeren worden gebruikt om toegang te krijgen tot en het wijzigen van de waarden van private (of beschermde) velden van een klasse.
Getter:
- Biedt gecontroleerde toegang om de waarde van het veld te lezen.
- Heeft meestal een naam die begint met
get(bijvoorbeeldgetName()). - Kan aanvullende acties uitvoeren voordat de waarde wordt geretourneerd (bijvoorbeeld formattering of validatie).
Setter:
- Biedt gecontroleerde toegang om een nieuwe waarde in het veld te schrijven.
- Heeft meestal een naam die begint met
set(bijvoorbeeldsetName()). - Kan validaties uitvoeren op de invoergegevens voordat de waarde aan het veld wordt toegewezen.
- Maakt het mogelijk om logica te implementeren bij het wijzigen van de veldwaarde (bijvoorbeeld het informeren van andere delen van het programma).
Voorbeeld in Python:
class Person:
def __init__(self, name):
self._name = name # Privé veld
# Getter
def get_name(self):
return self._name
# Setter
def set_name(self, new_name):
if isinstance(new_name, str) and len(new_name) > 0:
self._name = new_name
else:
print("Ongeldige naam")
# Gebruik
person = Person("Alice")
print(person.get_name()) # Gebruik van de getter
person.set_name("Bob") # Gebruik van de setter
print(person.get_name())
person.set_name("") # Voorbeeld van het gebruik van de setter met validatie
Het gebruik van getters en setters bevordert encapsulatie, waardoor toegang en wijziging van gegevens binnen het object kunnen worden beheerd, wat zorgt voor een betere structuur en onderhoudbaarheid van de code.