Powrót do: Podstawy Testów Automatycznych w Selenium i Python cz. 5 – Profesjonalna konfiguracja projektu
Dziedziczenie
Dziedziczenie (ang. inheritance) jest to mechanizm, pozwalający współdzielić pola (parametry), metody, funkcje pomiędzy klasami.
Dla przykładu:
Klasa B może dziedziczyć po klasie A, dzięki temu klasa B może mieć jednocześnie własne parametry i metody oraz wszystkie parametry i metody z klasy A.
Klasa A w tym przypadku nazywa się klasą bazową (ang. superclass albo base class), natomiast klasa B – klasą pochodną (ang. subclass).
Po klasie bazowej może dziedziczyć dowolna liczba klas pochodnych.
Powyższy opis dobrze zobrazuje poniższy diagram, na którym znajduje się bardzo uproszczony przykład z życia. Zauważ, że każde okno składa się z nazwy klasy (np: Animal
), pól, które znajdują się w jej konstruktorze wraz z opisem ich typu (np: age: integer
), oraz metod (np: sleep()
)
W połączeniu z poprzednim opisem możemy z niego wywnioskować:
- klasa Animal (czyli zwierze) jest klasą bazową,
- klasa Mammal (czyli ssak) dziedziczy po klasie Animal,
- klasa Mammal jest zarówno klasą bazową jak i klasą pochodną,
- klasy Dog, Human, Cat oraz Dolphin są klasami pochodnymi po klasie Mammal,
- klasa Mammal ma dostęp do wszystkich pól (wiek, waga itd.) i metod (poluj, obudź itd.) z klasy Animal,
- klasy dziedziczące po klasie Mammal (czyli Dog, Human, Cat oraz Dolphin) mają dostęp do wszystkich pól i metod z klasy Mammal, jak i zarówno z klasy Animal.
Koncept nie jest łatwy dlatego w następnej lekcji zobaczymy jak to wygląda w praktyce aby poczuć moc dziedziczenia.