Intern
Ce este un getter și un setter?
sobes.tech AI
Răspuns de la AI
Un getter și un setter sunt metode speciale utilizate în programarea orientată pe obiecte pentru accesarea și modificarea valorilor câmpurilor private (sau protejate) ale unei clase.
Getter:
- Oferă acces controlat pentru citirea valorii câmpului.
- De obicei are un nume care începe cu
get(de exemplu,getName()). - Poate efectua acțiuni suplimentare înainte de returnarea valorii (de exemplu, formatare sau validare).
Setter:
- Oferă acces controlat pentru scrierea unei noi valori în câmp.
- De obicei are un nume care începe cu
set(de exemplu,setName()). - Poate efectua validări ale datelor de intrare înainte de a atribui valoarea câmpului.
- Permite implementarea logicii la schimbarea valorii câmpului (de exemplu, notificarea altor părți ale programului).
Exemplu în Python:
class Person:
def __init__(self, name):
self._name = name # Câmp privat
# 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("Nume invalid")
# Utilizare
person = Person("Alice")
print(person.get_name()) # Utilizare getter
person.set_name("Bob") # Utilizare setter
print(person.get_name())
person.set_name("") # Exemplu de utilizare a setter-ului cu validare
Utilizarea getter-urilor și setter-urilor promovează încapsularea, permițând gestionarea accesului și modificării datelor în interiorul obiectului, asigurând o structură și o întreținere mai bune ale codului.