Dziedziczenie
Dowiedz się, jak ponownie wykorzystywać i rozszerzać funkcjonalność za pomocą dziedziczenia
Dziedziczenie to bezpłatna lekcja Python Academy na CoddyKit. To lekcja 3 z 6. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Python Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Python Academy zawiera 6 lekcji w sumie.
Wprowadzenie do dziedziczenia
Wprowadzenie do dziedziczenia
Dziedziczenie to podstawowe pojęcie programowania obiektowego (OOP), które pozwala klasie (klasie podrzędnej) dziedziczyć atrybuty i metody z innej klasy (klasy nadrzędnej). Sprzyja ponownemu wykorzystaniu kodu i ułatwia jego organizację.
W tej lekcji poznają Państwo sposoby implementowania dziedziczenia w Pythonie oraz jego zalety.

Definiowanie klasy nadrzędnej
Definiowanie klasy nadrzędnej
Klasa nadrzędna to klasa bazowa, z której dziedziczą inne klasy. Definiuje się ją tak samo jak każdą inną klasę:
# Defining a superclass
class Animal:
def speak(self):
print("Animal speaks")Tworzenie klasy podrzędnej
Tworzenie klasy podrzędnej
Klasa podrzędna dziedziczy atrybuty i metody z klasy nadrzędnej. Aby zdefiniować klasę podrzędną, należy przekazać nazwę klasy nadrzędnej jako parametr:
# Defining a subclass
class Dog(Animal):
def speak(self):
print("Dog barks")Przesłanianie metod
Przesłanianie metod
Klasa podrzędna może przesłaniać metody klasy nadrzędnej, aby zapewnić określone zachowanie:
# Overriding methods in a subclass
class Dog(Animal):
def speak(self):
print("Dog barks")
animal = Animal()
animal.speak() # Outputs: Animal speaks
dog = Dog()
dog.speak() # Outputs: Dog barksUżywanie funkcji <code>super()</code>
Używanie funkcji super()
Funkcja super() umożliwia wywoływanie metod klasy nadrzędnej w klasie podrzędnej:
# Using super() to call superclass methods
class Dog(Animal):
def speak(self):
super().speak()
print("Dog barks")Wielokrotne dziedziczenie
Wielokrotne dziedziczenie
Python obsługuje wielokrotne dziedziczenie, w którym klasa podrzędna może dziedziczyć z więcej niż jednej klasy nadrzędnej:
# Example of multiple inheritance
class Flyer:
def fly(self):
print("Flying")
class Swimmer:
def swim(self):
print("Swimming")
class Duck(Flyer, Swimmer):
passSprawdzanie relacji między klasami
Sprawdzanie relacji między klasami
Relacje między klasami można sprawdzać za pomocą funkcji isinstance() i issubclass().
# Checking class relationships
# Checking if an object is an instance of a class
print(isinstance(Dog(), Dog)) # Outputs: True
# Checking if a class is a subclass of another
print(issubclass(Dog, Animal)) # Outputs: TrueTypowe błędy związane z dziedziczeniem
Typowe błędy związane z dziedziczeniem
Oto kilka błędów, których należy unikać:
- Przesłanianie metod bez wywołania
super(), gdy jest to konieczne. - Mylenie kolejności rozwiązywania metod (MRO) w przypadku wielokrotnego dziedziczenia.
- Używanie dziedziczenia, gdy lepszym wyborem może być kompozycja.
Czego się dowiedzieliśmy?
Czego się dowiedzieliśmy?
W tej lekcji omówiono:
- Definiowanie klas nadrzędnych i podrzędnych.
- Przesłanianie metod i używanie
super(). - Działanie wielokrotnego dziedziczenia w Pythonie.
Doskonale! Przejdźmy do kolejnego tematu.

Często zadawane pytania
Czy lekcja „Dziedziczenie” jest bezpłatna?
Tak — pełny tekst „Dziedziczenie” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Python Academy, przejdź na CoddyKit PRO. Kurs Python Academy zawiera 6 lekcji w sumie.
Co nauczysz się w „Dziedziczenie”?
Dowiedz się, jak ponownie wykorzystywać i rozszerzać funkcjonalność za pomocą dziedziczenia Ćwiczysz Python Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć Python Academy?
Nie wymagamy żadnego doświadczenia. Python Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 3 z 6.
Ile czasu zajmuje lekcja „Dziedziczenie”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji Python Academy?
Tak. Każda lekcja Python Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Klasy i obiekty
- Atrybuty i metody
- Dziedziczenie
- Polimorfizm
- Enkapsulacja i abstrakcja
- Metody magiczne (__str__, __repr__ itd.)