Sobes.tech
Intern

Mi az a getter és setter?

sobes.tech MI

Válasz az MI-től

Egy getter és egy setter speciális módszerek, amelyeket az objektumorientált programozásban használnak a privát (vagy védett) oszlopok értékeinek elérésére és módosítására.

Getter:

  • Ellenőrzött hozzáférést biztosít az oszlop értékének olvasásához.
  • Általában olyan névvel rendelkezik, amely get-tel kezdődik (például getName()).
  • Kiegészítő műveleteket hajthat végre az érték visszaadása előtt (például formázás vagy validálás).

Setter:

  • Ellenőrzött hozzáférést biztosít az új érték írásához az oszlopba.
  • Általában olyan névvel rendelkezik, amely set-tel kezdődik (például setName()).
  • Validálhatja a bemeneti adatokat az érték hozzárendelése előtt.
  • Lehetővé teszi logika megvalósítását az oszlop értékének változtatásakor (például értesítés más programrészeknek).

Python példa:

class Person:
    def __init__(self, name):
        self._name = name # Privát mező

    # 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("Érvénytelen név")

# Használat
person = Person("Alice")
print(person.get_name()) # Getter használata

person.set_name("Bob") # Setter használata
print(person.get_name())

person.set_name("") # Validálással ellátott setter példa

A getterek és setterek használata az enkapszulációt támogatja, lehetővé téve az adatok hozzáférésének és módosításának kezelését az objektumon belül, ezáltal jobb szerkezetet és karbantarthatóságot biztosítva a kódban.