Sobes.tech
Intern

Co je to dědičnost v programování a k čemu slouží?

sobes.tech AI

Odpověď od AI

Dědičnost je mechanismus objektově orientovaného programování (OOP), který umožňuje jedné třídě (potomkovi, odvozené) dědit vlastnosti (atributy) a chování (metody) od jiné třídy (rodiče, základní).

Používá se pro:

  • Opakované použití kódu: Metody a atributy základní třídy jsou dostupné v odvozené třídě, čímž se předchází duplicitě kódu.
  • Vytváření hierarchií tříd: Umožňuje modelovat vztahy "je" (is-a) mezi objekty. Například, Pes je Zvíře.
  • Rozšíření funkčnosti: Odvozená třída může přidávat vlastní atributy a metody nebo přepisovat (měnit) chování zděděné.
  • Polymorfismus: Spolu s dynamickým dispatchingem umožňuje dědičnost zpracovávat objekty různých typů s odkazem na jejich základní třídu.

Příklad v Pythonu:

class Zvíře:
    # Základní třída
    def __init__(self, jméno):
        self.jméno = jméno

    def dělat_zvuk(self):
        pass # Prázdná metoda, bude přepsána v odvozených třídách

class Pes(Zvíře):
    # Odvozená třída
    def __init__(self, jméno, plemeno):
        super().__init__(jméno) # Volání konstruktoru základní třídy
        self.plemeno = plemeno

    def dělat_zvuk(self):
        # Přepsání metody dělat_zvuk
        print("Vau!")

# Použití
můj_pes = Pes("Бобик", "Ovčák")
print(můj_pes.jméno) # Zděděný atribut
můj_pes.dělat_zvuk() # Přepsaná metoda