Intern
Qu'est-ce qu'un getter et un setter?
sobes.tech IA
Réponse de l'IA
Un getter et un setter sont des méthodes spéciales utilisées en programmation orientée objet pour accéder et modifier les valeurs des champs privés (ou protégés) d'une classe.
Getter :
- Fournit un accès contrôlé pour lire la valeur du champ.
- A généralement un nom commençant par
get(par exemple,getName()). - Peut effectuer des actions supplémentaires avant de retourner la valeur (par exemple, mise en forme ou validation).
Setter :
- Fournit un accès contrôlé pour écrire une nouvelle valeur dans le champ.
- A généralement un nom commençant par
set(par exemple,setName()). - Peut effectuer des validations sur les données d'entrée avant d'assigner la valeur au champ.
- Permet d'implémenter une logique lors du changement de la valeur du champ (par exemple, notifier d'autres parties du programme).
Exemple en Python :
class Person:
def __init__(self, name):
self._name = name # Champ privé
# 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("Nom invalide")
# Utilisation
person = Person("Alice")
print(person.get_name()) # Utilisation du getter
person.set_name("Bob") # Utilisation du setter
print(person.get_name())
person.set_name("") # Exemple d'utilisation du setter avec validation
L'utilisation de getters et setters favorise l'encapsulation, permettant de gérer l'accès et la modification des données à l'intérieur de l'objet, assurant une meilleure structure et maintenabilité du code.