Abschnittsübersicht

    • Co to je dědičnost?

      Dědičnost je jeden ze základních principů OOP [1]. Umožňuje vytvořit novou třídu, která přebírá vlastnosti a metody jiné třídy (tzv. rodičovské třídy). Hlavní myšlenkou dědičnosti je znovupoužití kódu – v souladu s didaktickými principy programování nemusíme psát stejné vlastnosti a metody v různých třídách [2]. Místo toho je stačí mít definované jednou v základní třídě a potomci je automaticky zdědí [1].

      V jazyce C# a na platformě .NET [3] se dědičnost zapisuje velmi stručně pomocí dvojtečky : hned za název nové třídy. Zápis public class Potomek : Rodic říká kompilátoru: "Vytvoř novou třídu Potomek a zkopíruj do ní všechno, co umí třída Rodič."

      Klíčové pojmy

      Abstraktní třída – třída, ze které nelze vytvořit instanci [1]. Slouží pouze jako "šablona" a ostatní třídy z ní mohou dědit. Zapisujeme způsobem public abstract class NazevTridy.

      Abstraktní metoda – metoda, která nemá žádné tělo. Slouží jako povinný předpis pro potomky, kteří ji musejí přepsat a definovat si vlastní chování [1]. Zapisujeme způsobem public abstract typ NazevMetody(); Pokud ve třídě máme alespoň jednu abstraktní metodu, musí být celá třída definována také jako abstraktní [3].

      Virtuální metoda – metoda, která má definované tělo (kód). Slouží jako výchozí chování pro potomky, kteří ji mohou (ale nemusejí) přepsat, pokud chtějí změnit její funkčnost [1]. Zapisujeme způsobem public virtual typ NazevMetody() { ... }.

      Override – klíčové slovo, které se používá v třídě potomka. Slouží k přepsání původní metody, která byla v rodičovské třídě označena jako virtual nebo abstract [1]. Zapisujeme způsobem public override typ NazevMetody() { ... }. Tímto explicitně říkáme, že chceme změnit zděděné chování na naše vlastní [3].

    • V Zadání úkolu najdete jednoduchý úkol, který objasňuje základní principy dědičnosti v OOP.

    • Zdroje použité v textu