Intern
Cos'è un getter e un setter?
sobes.tech AI
Risposta dell'AI
Un getter e un setter sono metodi speciali utilizzati nella programmazione orientata agli oggetti per accedere e modificare i valori dei campi privati (o protetti) di una classe.
Getter:
- Fornisce un accesso controllato per leggere il valore del campo.
- Di solito ha un nome che inizia con
get(ad esempio,getName()). - Può eseguire azioni aggiuntive prima di restituire il valore (ad esempio, formattazione o validazione).
Setter:
- Fornisce un accesso controllato per scrivere un nuovo valore nel campo.
- Di solito ha un nome che inizia con
set(ad esempio,setName()). - Può eseguire validazioni sui dati di input prima di assegnare il valore al campo.
- Permette di implementare logica durante la modifica del valore del campo (ad esempio, notificare altre parti del programma).
Esempio in Python:
class Person:
def __init__(self, name):
self._name = name # Campo privato
# 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("Nome non valido")
# Utilizzo
person = Person("Alice")
print(person.get_name()) # Utilizzo del getter
person.set_name("Bob") # Utilizzo del setter
print(person.get_name())
person.set_name("") # Esempio di utilizzo del setter con validazione
L'uso di getter e setter favorisce l'incapsulamento, consentendo di gestire l'accesso e la modifica dei dati all'interno dell'oggetto, garantendo una migliore struttura e manutenibilità del codice.