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