Intern
Šta je getter i setter?
sobes.tech АИ
Одговор од АИ
Getter (dobavljač) i setter (postavljač) su posebne metode koje se koriste u objektno-orijentisanom programiranju za pristup i izmene vrednosti privatnih (ili zaštićenih) polja klase.
Getter:
- Omogućava kontrolisani pristup za čitanje vrednosti polja.
- Obično ima ime koje počinje sa
get(npr.,getName()). - Može izvršiti dodatne radnje pre vraćanja vrednosti (npr., formatiranje ili validacija).
Setter:
- Omogućava kontrolisani pristup za zapis nove vrednosti u polje.
- Obično ima ime koje počinje sa
set(npr.,setName()). - Može izvršiti validaciju ulaznih podataka pre dodeljivanja vrednosti polju.
- Omogućava implementaciju logike pri promeni vrednosti polja (npr., obaveštavanje drugih delova programa).
Primer u Pythonu:
class Person:
def __init__(self, name):
self._name = name # Privatno polje
# 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("Nevažeće ime")
# Upotreba
person = Person("Alice")
print(person.get_name()) # Upotreba gettera
person.set_name("Bob") # Upotreba settera
print(person.get_name())
person.set_name("") # Primer upotrebe settera sa validacijom
Korišćenje gettera i settera podstiče enkapsulaciju, omogućavajući upravljanje pristupom i modifikacijom podataka unutar objekta, obezbeđujući bolju strukturu i održivost koda.