Sobes.tech
Intern

Čo je dedičnosť v programovaní a na čo slúži?

sobes.tech AI

Odpoveď od AI

Dedičstvo je mechanizmus objektovo orientovaného programovania (OOP), ktorý umožňuje jednej triede (potomkovi, odvodené) dediť vlastnosti (atribúty) a správanie (metódy) od inej triedy (rodičovskej, základnej).

Používa sa na:

  • Opakované použitie kódu: Metódy a atribúty základnej triedy sú dostupné v odvodené, čím sa zabraňuje duplikácii kódu.
  • Vytváranie hierarchií tried: Umožňuje modelovať vzťahy "je" (is-a) medzi objektmi. Napríklad, Pes je Zvieratá.
  • Rozšírenie funkčnosti: Odvodená trieda môže pridávať vlastné atribúty a metódy alebo prepísať (zmeniť) správanie zdedené.
  • Polymorfizmus: Spolu s dynamickým dispatchom umožňuje dedičstvo spracovávať objekty rôznych typov, odkazujúc na ich základnú triedu.

Príklad v Pythone:

class Zvieratá:
    # Základná trieda
    def __init__(self, meno):
        self.meno = meno

    def rob_zvuk(self):
        pass # Prázdna metóda, bude prepísaná v odvodených triedach

class Pes(Zvieratá):
    # Odvodená trieda
    def __init__(self, meno, plemeno):
        super().__init__(meno) # Volanie konštruktora základnej triedy
        self.plemeno = plemeno

    def rob_zvuk(self):
        # Prepísanie metódy
        print("Vau!")

# Použitie
môj_pes = Pes("Бобик", "Ovčiak")
print(môj_pes.meno) # Zdedený atribút
môj_pes.rob_zvuk() # Prepísaná metóda