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ą.