Chapitre d’ouvrage

Chapitre 26. Héritage

Pages 553 à 575

Citer ce chapitre


  • Gomez, R.
(2022). Chapitre 26. Héritage. Le petit Python orienté objet : Programmation orientée objet avec Python 3 (p. 553-575). Ellipses. https://stm.cairn.info/le-petit-python-oriente-objet--9782340064065-page-553?lang=fr.

  • Gomez, Richard.
« Chapitre 26. Héritage ». Le petit Python orienté objet Programmation orientée objet avec Python 3, Ellipses, 2022. p.553-575. CAIRN.INFO, stm.cairn.info/le-petit-python-oriente-objet--9782340064065-page-553?lang=fr.

  • GOMEZ, Richard,
2022. Chapitre 26. Héritage. In : Le petit Python orienté objet Programmation orientée objet avec Python 3. Paris : Ellipses. Références sciences, p.553-575. URL : https://stm.cairn.info/le-petit-python-oriente-objet--9782340064065-page-553?lang=fr.

En langage Python, il est possible de définir une classe X comme étant la fille de classes A, B, C, D, etc. Exemple :
On dit dans le cas ci-dessus que X dérive (directement) de A, B, C. On dit aussi que X a pour bases A,B,C. On dit aussi que A, B, C sont les parents de X. L’attribut bases contient la liste des parents de X :
L’attribut base contient le premier parent :
L’analogie avec la filiation humaine est limitée : alors que tout humain possède exactement deux parents biologiques, une classe possède un nombre n quelconque de parents avec n ⩾ 1.
Le code ci-dessous :
créé une classe X fille de la classe object. Il équivaut exactement au code ci-dessous :
Chez Python 3, toutes les classes descendent de object, directement ou indirectement :Toute classe possède un ensemble plus ou moins grand d’ancêtres (on dit aussi superclasses). Bien entendu, X dérive de A si et seulement si A est une superclasse de X. La fonction issubclass permet de savoir si une classe dérive d’une autre :
On notera que X est considérée comme sous-classe de X :
L’attribut mro contient la liste des ancêtres d’une classe :
On peut améliorer l’affichage grâce à l’attribut name :Exercice 26.1.
Trouver les sous-classes de BaseException qui ont le plus d’ancêtres en utilisant le module builtins. On en trouve 8, parmi lesquelles il y a BrokenPipeError. Chacune d’elles possède 5 ancêtres. Si on effectue cette recherche en implémentant une fonction se basant sur la méthod…


Date de mise en ligne : 23/02/2023

Ce chapitre est en accès conditionnel

Acheter cet ouvrage

35,99 €

828 pages, format électronique (HTML et feuilletage, par chapitre)

Acheter ce chapitre

5,00 €

23 pages format électronique (HTML et feuilletage)
Membre d'une institution cliente ?