Junior — Middle
Lze říci, že dědičnost přispívá k realizaci polymorfismu v objektově orientovaném programování?
sobes.tech AI
Odpověď od AI
Ano, dědičnost je jedním z klíčových mechanismů, které přispívají k implementaci polymorfismu v objektově orientovaném programování. Polymorfismus umožňuje, aby objekty různých tříd byly zpracovávány prostřednictvím společného rozhraní, a dědičnost umožňuje vytváření hierarchií tříd, kde podtřídy mohou přepisovat metody základní třídy.
Například, pokud existuje základní třída Zvíře s metodou vydatZvuk(), a podtřídy Pes a Kočka přepisují tuto metodu, pak lze s objekty těchto tříd pracovat prostřednictvím odkazu na základní třídu a volat metodu vydatZvuk(), čímž získáme různé chování:
class Zvíře {
void vydatZvuk() {
System.out.println("Nějaký zvuk");
}
}
class Pes extends Zvíře {
@Override
void vydatZvuk() {
System.out.println("štěkání");
}
}
class Kočka extends Zvíře {
@Override
void vydatZvuk() {
System.out.println("mňau");
}
}
// Použití
Zvíře z = new Pes();
z.vydatZvuk(); // Vytiskne "štěkání"