Intern
Čo je getter a setter?
sobes.tech AI
Odpoveď od AI
Getter (získač) a setter (nastavovač) sú špeciálne metódy používané v objektovo orientovanom programovaní na prístup a zmenu hodnôt súkromných (alebo chránených) polí triedy.
Getter:
- Poskytuje kontrolovaný prístup na čítanie hodnoty poľa.
- Zvyčajne má názov začínajúci na
get(napríkladgetName()). - Môže vykonávať dodatočné akcie pred vrátením hodnoty (napríklad formátovanie alebo validáciu).
Setter:
- Poskytuje kontrolovaný prístup na zápis novej hodnoty do poľa.
- Zvyčajne má názov začínajúci na
set(napríkladsetName()). - Môže vykonávať validácie vstupných údajov pred priradením hodnoty poľu.
- Umožňuje implementovať logiku pri zmene hodnoty poľa (napríklad upozornenie iných častí programu).
Príklad v Pythone:
class Person:
def __init__(self, name):
self._name = name # Súkromné 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é meno")
# Použitie
person = Person("Alice")
print(person.get_name()) # Použitie getteru
person.set_name("Bob") # Použitie setteru
print(person.get_name())
person.set_name("") # Príklad použitia setteru s validáciou
Použitie getterov a setterov podporuje enkapsuláciu, umožňuje riadiť prístup a modifikáciu údajov v rámci objektu, čím zabezpečuje lepšiu štruktúru a udržiavateľnosť kódu.