Sobes.tech
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.