Dziedziczenie

Możliwość dziedziczenia z klas jest fundamentem programowania zorientowanego obiektowo. Język Python oferuje mechanizm dziedziczenia pojedynczego i wielokrotnego. W przypadku dziedziczenia pojedynczego może istnieć tylko jedna nadklasa. W przypadku dziedziczenia wielokrotnego może istnieć więcej niż jedna nadklasa.

Dziedziczenie implementuje się, tworząc podklasy innych klas. Dowolna liczba klas języka Python może być nadklasami. Jednak w implementacji Jython możliwe jest bezpośrednie lub pośrednie dziedziczenie tylko z jednej klasy języka Java. Nie jest wymagana dla nadklasy, która ma być dostarczona.

Dowolny atrybut lub metoda w nadklasie jest również w dowolnej podklasie i może być używana przez samą klasę lub przez dowolnego klienta tak długo, jak długo atrybut lub metoda nie jest ukryta. Każda instancja podklasy może być używana wszędzie tam, gdzie może być używana instancja nadklasy. Jest to przykład polimorfizmu. Mechanizmy te umożliwiają wielokrotne wykorzystanie tego samego kodu i ułatwiają rozbudowę oprogramowania.

Przykład

class Class1: pass    #no inheritance

class Class2: pass

class Class3(Class1): pass     #single inheritance

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