COMPLÉMENTS DU COURS PYTHON - 01 4
Ajouter maintenant les lignes suivantes dans la définition de la classe point2 :
def es tP lu sMe ri di ona lQ ue ( self ,Q ):
return self .y<=Q.y
def es tP lu sOc ci de nta lQ ue ( self ,Q ):
return self .x<=Q.x
exécuter la cellule contenant la définition de la classe point2, puis exécuter les commandes qui suivent
dans le shell :
>>> P= point2 () ;Q= point2 ()
>>> P. initialise (1 ,1);Q. initialise ( -1 ,4)
>>> P. es tP lus Me ri di ona lQ ue ( Q)
>>> P. es tP lus Oc ci de nta lQ ue ( Q)
[Qu. 1]
1) Ajouter à la classe point2 une méthode echangexy qui échange les valeurs des attributs xet y
d’un objet de cette classe.
2) Définir une méthode afficher de la classe point2 qui affiche pour un objet de cette classe la
chaine (x;y) où xet ysont les valeurs des attributs xet yde l’objet.
3) Ecrire une méthode symetriquePR de la classe point2 telle que P.symetriquePR(Q) renvoie le
symétrique du point Pdans la symétrie centrale de centre le point Q.
4) Ecrire une méthode appartientDroite de la classe point2 telle que P.appartientDroite(A,B)
renvoie True si lPappartient à la droite (AB) et False sinon.
3. L’h´eritage et la surchage de m ´ethode
Dériver une classe. L’héritage est l’un des aspects très positif de la programmation orienté objet.
Les classes que l’on définit peuvent hériter des attributs et méthodes d’autres classes. Par défaut,
toutes les classes sont descendantes de la classe object et ainsi tous les objets que l’on crée en Python
possèdent les attributs et méthodes de cette classe. Vérifions le :
>>> issubclass (point2 , object )
>>> issubclass (list ,object )
>>> issubclass (type ,object )
>>> dir( object )
>>> dir( point2 )
Lorsque l’on veut que l’héritage provienne d’un classe précise, on doit le préciser dans la définition
de la nouvelle classe. Ce procédé s’appelle la dérivation de classe.
La classe dérivée possède alors les attributs et méthode de la classe dont elle dérive et ses propres
attributs et méthodes.
Dérivons par exemple la classe point2 :