Sobes.tech
Intern

Kas yra getter ir setter?

sobes.tech AI

Atsakymas iš AI

Gavėjas (getter) ir nustatymas (setter) yra specialūs metodai, naudojami objektinio programavimo kalbose, norint pasiekti ir keisti privačių (arba apsaugotų) klasės laukų reikšmes.

Gavėjas:

  • Užtikrina kontroliuojamą prieigą prie lauko reikšmės skaitymo.
  • Paprastai turi pavadinimą, prasidedantį nuo get (pvz., getName()).
  • Gali atlikti papildomus veiksmus prieš grąžinant reikšmę (pvz., formatavimą ar validaciją).

Nustatymas:

  • Užtikrina kontroliuojamą prieigą prie naujos reikšmės įrašymo į lauką.
  • Paprastai turi pavadinimą, prasidedantį nuo set (pvz., setName()).
  • Gali atlikti įvesties duomenų validaciją prieš priskiriant reikšmę laukui.
  • Leidžia įgyvendinti logiką keičiant lauką (pvz., pranešimą kitoms programos dalims).

Python pavyzdys:

class Person:
    def __init__(self, name):
        self._name = name # Privatus laukas

    # Gavėjas
    def get_name(self):
        return self._name

    # Nustatymas
    def set_name(self, new_name):
        if isinstance(new_name, str) and len(new_name) > 0:
            self._name = new_name
        else:
            print("Neteisingas vardas")

# Naudojimas
person = Person("Alice")
print(person.get_name()) # Gavėjo naudojimas

person.set_name("Bob") # Nustatymo naudojimas
print(person.get_name())

person.set_name("") # Validacijos pavyzdys

Gavėjų ir nustatymo metodų naudojimas skatina inkapsuliaciją, leidžia valdyti prieigą ir duomenų keitimą objekto viduje, užtikrinant geresnę struktūrą ir palaikymą.