Intern
Co je to getter a setter?
sobes.tech AI
Odpověď od AI
Getter a setter jsou speciální metody používané v objektově orientovaném programování k přístupu a změně hodnot soukromých (nebo chráněných) polí třídy.
Getter:
- Poskytuje řízený přístup ke čtení hodnoty pole.
- Obvykle má název začínající na
get(napříkladgetName()). - Může provádět dodatečné akce před vrácením hodnoty (například formátování nebo validaci).
Setter:
- Poskytuje řízený přístup k zápisu nové hodnoty do pole.
- Obvykle má název začínající na
set(napříkladsetName()). - Může provádět validace vstupních dat před přiřazením hodnoty poli.
- Umožňuje implementovat logiku při změně hodnoty pole (například upozornění jiných částí programu).
Příklad v Pythonu:
class Person:
def __init__(self, name):
self._name = name # Soukromé pole
# 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("Neplatné jméno")
# Použití
person = Person("Alice")
print(person.get_name()) # Použití getteru
person.set_name("Bob") # Použití setteru
print(person.get_name())
person.set_name("") # Příklad použití setteru s validací
Použití getterů a setterů podporuje zapouzdření, umožňuje řídit přístup a modifikaci dat uvnitř objektu, čímž zajišťuje lepší strukturu a udržovatelnost kódu.