Úkol polymorfismus

1. Zadání úkolu

Co je cílem zadání?

  • Vytvoření abstraktní rodičovské třídy Zvíře, abstraktní a přetížená metoda VydejZvuk().
  • Tvorba odvozených tříd Kočka, Pes, Koza, které dědí ze Zvíře a přepisují základní zvuk.
  • Sdružení instancí těchto odlišných zvířat do jednoho společného seznamu v Razor komponentě.
  • Hromadné zobrazení jmen a zvuků zvířat do tabulky pomocí jednoho společného cyklu.

Zadání

Vytvořte abstraktní bázovou třídu Zvire, která bude obsahovat vlastnost Jmeno a abstraktní metodu VydejZvuk(). Přímo do této bázové třídy přidejte i její přetíženou variantu VydejZvuk(int pocetOpakovani), která pomocí cyklu zopakuje základní zvuk tolikrát, kolik udává vstupní parametr.

Z této třídy následně odvoďte tři specializované třídy: Pes, Kocka a Koza. Tyto třídy budou dědit ze společné třídy Zvire a polymorfně přepíší metodu VydejZvuk() tak, aby každá vracela svůj specifický zvířecí zvuk.

V Razor komponentě následně zajistěte následující funkcionalitu:

  1. Inicializace dat: Vytvořte jednu sdílenou kolekci typu List<Zvire> a vložte do ní instance všech tří různých zvířat.
  2. Vykreslení tabulky: Pomocí cyklu projděte tuto sdílenou kolekci a vypište její obsah do tabulky. Tabulka bude mít tři sloupce:
    • V prvním sloupci zobrazte jméno zvířete.
    • Ve druhém sloupci vypište výsledek základní metody VydejZvuk().
    • Ve třetím sloupci demonstrujte využití přetížené metody tím, že jí předáte číselný parametr (např. hodnotu 3) a vypíšete vícenásobně zopakovaný zvuk.

Příklad, jak by mohla stránka vypadat:

Pokud se okno nenačetlo, klikněte zde.