Bienvenue dans notre cours ‘Programmation orientée objet en Python’. Alors, dans cette partie de cours, on va découvrir les accesseurs et les modificateurs (getters et setters ) en POO /python.
Accesseurs et modificateurs
Comme les attributs sont privés,on doit créer des méthodes qui permettent l’accès ( pour connaître la valeur de l’attribut , pour modifier cette valeur)
- Les Getters (Accesseurs) : méthodes qui permettent de connaître les valeurs des attribut.
- Les Setters(modificateurs) : sont des méthodes qui permettent de modifier les attributs
Exemple
class Stagiaire:
#constructeur
def __init__(self,note1,note2):
#rendre tous les attributs privés
self.__note1=note1
self.__note2=note2
def calculMoy(self):
#modifier la méthode pour pouvoir retourner la moyenne
moy=(self.__note1+self.__note2)/2
print("La moyenne:", moy)
#get and set
def getnote1(self):
return self.__note1
def setnote1(self,note1):
self.__note1=note1
def getnote2(self):
return self.__note2
def setnote2(self,note2):
self.__note2=note2
Alors, on peut accéder à l’information voulue via la méthode get ou set . Par exemple , on peut créer un objet sans l’initialiser .Puis, utiliser les modificateurs pour initialiser les valeurs des attributs.
Exemple :
On crée une classe Stagiaire avec les attributs numéro d’inscription, age, nom, prénom, note1 et note2. On ajoute ‘=None’ pour chaque paramètre dans le constructeur pour dire que c’est un paramètre facultatif :
class Stagiaire:
#constructeur
def __init__ (self,numi=None,age=None,nom=None,prenom=None,
note1=None,note2=None):
#rendre tous les attributs privés
self.__numinscription=numi
self.__age=age
self.__nom=nom
self.__prenom=prenom
self.__note1=note1
self.__note2=note2
def calculMoy(self):
#modifier la méthode pour pouvoir retourner la moyenne
moy=(self.__note1+self.__note2)/2
print("La moyenne:", moy)
#get and set
def getnumi(self):
return self.__numi
def setnumi(self,numi):
self.__numi=numi
def getage(self):
return self.__age
def setage(self,age):
self.__age=age
def getnom(self):
return self.__nom
def setnom(self,nom):
self.__nom=nom
def getprenom(self):
return self.__prenom
def setprenom(self,pr):
self.__prenom=pr
def getnote1(self):
return self.__note1
def setnote1(self,note1):
self.__note1=note1
def getnote2(self):
return self.__note2
def setnote2(self,note2):
self.__note2=note2
Donc, on peut créer un objet stagiaire sans informations (objet vide non encore initialisé). Puis, on va utiliser les modificateurs pour ajouter les informations du s2 :
#Création des objects
s1=Stagiaire(1122,21,"elgarrai","zineb",15.2,18)
#créer s2
s2=Stagiaire()
s2.setnumi(2211)
s2.setage(15)
s2.setnom("alaoui")
s2.setprenom("Aya")
s2.note1(15.2)
s2.setnote2(18)
Ainsi, nous avons pu créer deux objets s1 et s2 avec deux méthodes différentes :
- s1 est crée et initialisé par le constructeur . C’est à dire, au moment de la création , on a donné les informations nécessaires
- s2 est premièrement crée via le constructeur. Puis, initialiser en utilisant les modificateurs.
Vous pouvez suivre notre liste des vidéos sur la programmation orientée objet sur notre chaine youtube 9raytifclick (Darija: arabe marocaine) : POO en Python
Aussi, si vous voulez commencer l’apprentissage d’un langage de programmation, voilà notre cours : Langage Python Niveau 1 qui sera très utile pour vous (il vous aide à pratiquer tous les éléments de base de la programmation ; vus dans notre cours d’algorithmique).