Sobes.tech
Intern

Czym jest dziedziczenie w programowaniu i do czego służy?

sobes.tech AI

Odpowiedź od AI

Dziedziczenie to mechanizm programowania obiektowego (OOP), który pozwala jednej klasie (klasie potomnej, pochodnej) dziedziczyć właściwości (atrybuty) i zachowania (metody) innej klasy (klasy nadrzędnej, bazowej).

Używa się do:

  • Ponownego użycia kodu: Metody i atrybuty klasy bazowej są dostępne w klasie pochodnej, co zapobiega duplikacji kodu.
  • Tworzenia hierarchii klas: Pozwala modelować relacje "jest" (is-a) między obiektami. Na przykład, Pies jest Zwierzęciem.
  • Rozszerzania funkcjonalności: Klasa potomna może dodawać własne atrybuty i metody lub nadpisywać (zmieniać) zachowanie odziedziczone.
  • Polimorfizmu: W połączeniu z dynamicznym dispatch, dziedziczenie pozwala obsługiwać obiekty różnych typów, odwołując się do ich klasy bazowej.

Przykład w Pythonie:

class Zwierze:
    # Klasa bazowa
    def __init__(self, imie):
        self.imie = imie

    def wydaj_dzwiek(self):
        pass # Pusta metoda, będzie nadpisana w klasach pochodnych

class Pies(Zwierze):
    # Klasa potomna
    def __init__(self, imie, rasa):
        super().__init__(imie) # Wywołanie konstruktora klasy bazowej
        self.rasa = rasa

    def wydaj_dzwiek(self):
        # Nadpisanie metody wydaj_dzwiek
        print("Hau!")

# Użycie
mój_pies = Pies("Бобик", "Owczarek")
print(mój_pies.imie) # Atrybut odziedziczony
mój_pies.wydaj_dzwiek() # Metoda nadpisana