Sobes.tech
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říklad getName()).
  • 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říklad setName()).
  • 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.