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