mirror of
https://github.com/pepaskopec-blip/Graduately.git
synced 2026-10-27 15:14:35 +00:00
Add a C# course with a side-by-side code runner.
Each lesson explains a topic and runs the edited program next to the text through the local .NET SDK. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
parent
6662eb185e
commit
333085ee53
86 changed files with 2482 additions and 5 deletions
50
content/programovani/3-rocnik/06-polymorfismus.md
Normal file
50
content/programovani/3-rocnik/06-polymorfismus.md
Normal file
|
|
@ -0,0 +1,50 @@
|
|||
---
|
||||
id: cs-3-polymorfismus
|
||||
nazev: Polymorfismus
|
||||
popis: Stejné volání, jiná odpověď potomka.
|
||||
---
|
||||
|
||||
# Výklad
|
||||
|
||||
## virtual a override
|
||||
*přepsání*
|
||||
|
||||
- virtual u předka dovolí potomkovi metodu vyměnit.
|
||||
- override u potomka řekne, že jde o tu samou metodu.
|
||||
- Bez virtual by potomek jen schoval jméno a přes typ předka by se volala stará verze.
|
||||
|
||||
> Tip: Proměnná je Zvire, objekt je Pes. Zavolá se štěk, ne obecné zvíře.
|
||||
|
||||
## Seznam
|
||||
*víc tvarů*
|
||||
|
||||
- Do pole Zvire lze dát psa i kočku.
|
||||
- foreach volá Zvuk a každý objekt odpoví po svém.
|
||||
- Nové zvíře přidáte třídou, ne úpravou smyčky.
|
||||
|
||||
> Tip: Přidejte do pole kočku a třetí řádek výstupu bude mňau.
|
||||
|
||||
# Kód
|
||||
|
||||
```
|
||||
Zvire[] zvirata = { new Pes(), new Kocka() };
|
||||
foreach (Zvire z in zvirata)
|
||||
{
|
||||
Console.WriteLine(z.Zvuk());
|
||||
}
|
||||
|
||||
class Zvire
|
||||
{
|
||||
public virtual string Zvuk() { return "..."; }
|
||||
}
|
||||
|
||||
class Pes : Zvire
|
||||
{
|
||||
public override string Zvuk() { return "haf"; }
|
||||
}
|
||||
|
||||
class Kocka : Zvire
|
||||
{
|
||||
public override string Zvuk() { return "mňau"; }
|
||||
}
|
||||
```
|
||||
Loading…
Add table
Add a link
Reference in a new issue