Héritage

La capacité à hériter de classes est fondamentale à la programmation orientée objet. Python prend en charge aussi bien l'héritage unique que l'héritage multiple. L'héritage unique signifie qu'il ne peut exister qu'une seule superclasse. L'héritage multiple signifie qu'il peut exister plusieurs superclasses.

L'héritage est mis en oeuvre par la sous-classification d'autres classes. Un nombre quelconque de classes Python peuvent être des superclasses. Dans l'implémentation Jython de Python, il n'est possible d'hériter directement ou indirectement que d'une seule classe Java. Il n'est pas nécessaire qu'une superclasse soit fournie.

Tout attribut ou méthode dans une superclasse est également dans n'importe quelle sous-classe et peut être utilisé par la classe elle-même, ou par n'importe quel client tant que l'attribut ou la méthode n'est pas masqué. Toute instance d'une sous-classe peut être utilisée chaque fois qu'une instance d'une superclasse peut être utilisée ; il s'agit d'un exemple de polymorphisme. Ces fonctionnalités permettent la réutilisation et facilitent l'extension.

Exemple

class Class1: pass    #no inheritance

class Class2: pass

class Class3(Class1): pass     #single inheritance

class Class4(Class3, Class2): pass     #multiple inheritance