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,
PesjeZvíř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