W świecie programowania obiektowego (OOP) dziedziczenie odnosi się do mechanizmu zdolności klasy do dziedziczenia lub rozszerzania właściwości innej klasy w czasie wykonywania. Ta właściwość umożliwia klasie pochodnej uzyskanie właściwości lub cech klasy bazowej.
Dziedziczenie w Pythonie jest uważane za jeden z najważniejszych aspektów OOP, ponieważ służy jako funkcja wielokrotnego użytku, która tworzy fragment kodu bardziej niezawodne.
< / p>
Korzyści
- Dziedziczenie opisuje relacje, które przypominają rzeczywiste scenariusze.
- Zapewnia możliwość ponownego użycia, która pozwala użytkownikowi dodać dodatkową funkcjonalność do klasy pochodnej bez jej zmiany.
- Jeżeli klasa Y dziedziczy po klasie X, to automatycznie wszystkie podklasy Y odziedziczą po klasie X.
Podstawowe terminy dziedziczenia
- Podklasa / klasa pochodna: jest to klasa, która dziedziczy właściwości z innej klasy (zwykle z klasy bazowej).
- Nadklasa / klasa podstawowa: jest to klasa, z której pochodzą inne podklasy.
- Klasa pochodna zwykle wywodzi / dziedziczy / rozszerza klasę bazową.
Składnia
class SuperClassName: Treść klasy Super Class DerivedClass_Name (SuperClass): Treść pochodnej class
Przykłady
Zagłębmy się w świat dziedziczenia Pythona z prostymi przykładami. Przeczytaj także o wielokrotnym dziedziczeniu .
Krok 1. Utwórz klasę bazową
class Father: # Słowo kluczowe `self` jest używane do reprezentowania instancji klasy. # Używając słowa kluczowego "self" uzyskujemy dostęp do atrybutów i metod klasy w Pythonie. # Metoda "__init__" jest wywoływana jako konstruktor w terminologii obiektowej. # Ta metoda jest wywoływana, gdy obiekt jest tworzony z klasy. # pozwala klasie zainicjować atrybuty klasy. def __init __ (self, name, lastname): self.name = nazwa self.lastname = nazwisko def printname (self): print (self.name, self.lastname) # Użyj klasy Father, aby utworzyć obiekt, a następnie wykonać metoda printname: x = Ojciec („Anees”, „Mulani”) x.printname ()
Wyjście: Anees Mulani
Krok 2. Utwórz klasę pochodną
# Funkcja podklasy __init __ () zastępuje dziedziczenie funkcji klasy bazowej __init __ (). class Syn (Ojciec): def __init __ (ja, imię, nazwisko): Ojciec .__ init __ (siebie, imię, nazwisko) x = Syn („Dev”, „Bajaj”) x.printname ()
Wniosek: Dev Bajaj
Korzystanie z funkcji super ()
Dzięki funkcji super ()
nie musisz używać rodzica nazwę elementu, automatycznie odziedziczy metody i właściwości od swojego rodzica.
class Ojciec: def __init __ (self, name, lastname) : self.name = imię self.lastname = nazwisko def printname (self): print (self.name, self.lastname) class Syn (Father): def __init __ (self, name, lastname): super() .__ init __ (imię, nazwisko) x = Student ("Dev", "Bajaj") x.printname ()