doctorant est à la fois une sous-classe directe des
classes
membreDuPersonnel et eleve. Il y a héritage
multiple.
Attention, un conflit peut apparaitre si un attribut n'est
pas défini dans une classe (doctorant),
mais dans chacune des classes mères
(membreDuPersonnel et eleve). Et bien Python s'évite les
complications. Il regarde d'abord si l'attribut est dans membre
du Personnel, puis s'il n'est pas dans eleve, puis s'il n'est pas
dans humain, puis ... Il ya un ordre de résolution de conflit
d'héritage.
Dans le cas général. Profondeur d'abord, puis de gauche à
droite.For most purposes,
in the simplest cases, you can think of the search for attributes
inherited from a parent class as
depth-first, left-to-right, not searching twice in the same
class where there
is an overlap in the hierarchy. Thus, if an attribute is not
found in DerivedClassName, it is searched for in Base1, then (recursively) in the base classes of
Base1, and if it was not found there, it was
searched for in Base2, and so on.