17.12.2012 Views

Programmation PYTHON - Zenk - Security - Repository

Programmation PYTHON - Zenk - Security - Repository

Programmation PYTHON - Zenk - Security - Repository

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>Programmation</strong> orientée objet<br />

CHAPITRE 14<br />

Cette nouvelle classe hérite des caractéristiques de la classe Telephone et y ajoute une<br />

méthode supplémentaire. Seul le numéro de série n’est plus accessible dans cette spécialisation.<br />

Cette classe peut être à son tour dérivée dans une autre classe.<br />

Spécialisation de TelephonePhoto<br />

class TelephonePhotoHautdeGamme(TelephonePhoto):<br />

def fait_cafe(self):<br />

print('plik, plik, plik')<br />

if __name__ == '__main__':<br />

nokai = TelephonePhotoHautdeGamme()<br />

nokai.allumer('1234')<br />

nokai.prend_photo()<br />

nokai.fait_cafe()<br />

Ces suites de dérivations forment un arbre de dérivation.<br />

Polymorphisme<br />

Lorsque la classe spécialisée implémente les mêmes méthodes que la classe dont elle<br />

dérive, on dit que les méthodes sont surchargées.<br />

TelephonePhotoHautdeGamme modifiée<br />

class TelephonePhotoHautdeGamme(TelephonePhoto):<br />

def fait_cafe(self):<br />

print('plik, plik, plik')<br />

def prend_photo(self):<br />

print('clik-clak deluxe')<br />

Ici, la méthode prend_photo() est surchargée et prévaut sur celle de TelephonePhoto.<br />

La méthode est dite virtuelle (en Python, toutes les méthodes sont virtuelles).<br />

Il reste cependant possible d’atteindre la méthode des classes héritées dans les<br />

niveaux précédents dans l’arbre de dérivation, en appelant cette méthode directement<br />

depuis la classe concernée, en passant l’objet dérivé en premier paramètre.<br />

Polymorphisme<br />

class TelephonePhoto(Telephone):<br />

def __init__(self):<br />

Telephone.__init__(self)<br />

self.modele = 'nokai kitu 45 Photo+'<br />

493

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!