Graduately/content/programovani/3-rocnik/07-rozhrani.md
pepaskopec-blip 333085ee53 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>
2026-10-11 14:37:14 +02:00

972 B


id: cs-3-rozhrani nazev: Rozhraní popis: Smlouva: které metody typ musí mít.

Výklad

interface

I

  • interface nemá hotový kód, jen hlavičky metod.
  • class Pes : IMluvici slíbí, že Mluv napíše.
  • Jedna třída může splnit víc rozhraní. Dědit může jen jednu třídu.

Tip: Jméno rozhraní se často píše s I na začátku: IMluvici.

Společný typ

seznam

  • Proměnná typu rozhraní udrží kohokoli, kdo smlouvu splnil.
  • Pes a Radio nemají společného předka, ale oba umí Mluv.
  • Smyčka jim rozumí přes smlouvu, ne přes původ.

Tip: Rozhraní neříká, jak metoda funguje. To napíše až třída.

Kód

IMluvici[] veci = { new Pes(), new Radio() };
foreach (IMluvici v in veci)
{
    Console.WriteLine(v.Mluv());
}

interface IMluvici
{
    string Mluv();
}

class Pes : IMluvici
{
    public string Mluv() { return "haf"; }
}

class Radio : IMluvici
{
    public string Mluv() { return "hudba"; }
}