SAMOUCZEK JĘZYKA PYTHON | ROZDZIAŁY |
Rozdział 8: Klasy
1: Terminologia- 2: Przestrzenie i zasięgi nazw w Pythonie- 3: Składnia definicji klasy - 4: Obiekty klasy 5: Obiekty konkretu klasy- 6: Obiekty metod- 7: Luźne uwagi - 8: Dziedziczenie- 9: Dziedziczenie wielorakie 10: Zmienne prywatne- 11: Sztuczki i chwyty - 12: Wjątki mogą być klasami Lekcja 8: DziedziczenieBez istnienia mechanizmu dziedziczenia, ta cecha języka, która określana jest mianem "klasy" nie byłaby jego warta. Poniżej podano składnię definicji klasy dziedziczącej:
Nazwa NazwaKlasyBazowej musi być zdefiniowana w zasięgu zawierającym definicję klasy pochodnej. Zamiast nazwy klasy bazowej dopuszcza się również wyrażenie. Jest to szczególnie przydatne, jeśli nazwa klasy bazowej zdefiniowana jest w innym module, np.:
Wykonanie definicji klasy pochodnej następuje w taki sam sposób jak dla klasy bazowej. Klasa jest zapamiętywana w momencie stworzenia obiektu klasy. Ten mechanizm używany jest w procesie rozstrzygania odniesień do atrybutów konkretu takiej klasy: jeśli poszukiwany atrybut nie jest znajdowany w klasie, poszukiwany jest w klasie bazowej. Ta zasada stosowana jest rekurencyjnie w przypadku, gdy klasa bazowa jest pochodną innej.
Przesłonięcie metody w klasie pochodnej jest raczej rozszerzeniem zbioru obsługiwanych funkcji niż zastąpieniem elementu noszącego taką samą nazwę jak ta metoda. Istnieje prosty sposób wywołania metody klasy bazowej: po prostu " NazwaKlasyPodstawowej.nazwa_metody(self, argumenty)". Ten mechanizm można stosować, jeżeli klasa podstawowa zdefiniowana jest w globalnym zasięgu nazw. |
|