W
Pythonie możemy stworzyć klasę, która dziedziczy wszystkie metody i właściwości z innej klasy.
Python zawiera klasę nadrzędną i klasę podrzędną.
Klasa nadrzędna to klasa dziedziczona, zwana również klasą bazową.
Klasa podrzędna to klasa, która dziedziczy z innej klasy, zwana również klasą pochodną.
Przykład:
class Klasa_1:
def funkcja_1(x,y,z): #instrukcja funkcji na obiekcie 'x'
x.y=y
x.z=z
def funkcja_2(a): #instrukcja funkcji na obiekcie 'a'
print("ok", a.y)
obiekt=Klasa_1() #utowrzenie obiektu klasy 'Klasa_1'
obiekt.funkcja_1("przyjedzie", "nie przyjedzie") #wywołanie funkcji Klasy 'Klasa_1'
obiekt.funkcja_2()
ok przyjedzie #wynik
class Klasa_2(Klasa_1):
def funkcja_3(a,b,c): #instrukcja funkcji na obiekcie 'a'
a.b=b
a.c=c
def funkcja_4(d): #instrukcja funkcji na obiekcie 'd'
print("niestety ", d.z)
obiekt_1=Klasa_2() #utworzenie obiektu Klasy_2
obiekt_1.funkcja_1("przyjedzie", "nie przyjedzie")
obiekt_1.funkcja_4()
niestety nie przyjedzie #wynik
Możesz użyć słowa pass do klasy podrzędnej, kiedy nie chcesz dodawać do niej żadnych innych właściwości ani metod, tylko dziedziczyć
właściwości i metody z innej klasy:
Przykład:
class Klasa:
def __init__(self, x,y):
self.x=x
self.y=y
def metoda(s):
print(s.x)
class Klasa_1(Klasa): #utworzenie klasy 'Klasa_1', która dziedziczy klasę 'Klasa'
pass
obiekt=Klasa_1(4,5) #utworzenie obiektu 'obiekt' klasy 'Klasa_1'
obiekt.metoda() #wywołanie na obiekcie 'obiekt' metody 'metoda'
4 #wynik