C# - pilíře OOP, 1.díl
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

C# - pilíře OOP, 1.dílC# - pilíře OOP, 1.díl

 
Hledat
Vybavení pro Laser Game
Spuštěn Filmový magazín
Laser Game Brno
Pergoly a střechy Brno

C# - pilíře OOP, 1.díl

Google       Google       17. 2. 2009       27 461×

Vítejte u mého miniseriálu, ktery zaměřím na pilíře objektově orientovaného programování v C#. V miniseriálu vyjdou 3 díly a postupně probereme dědění, zapouzdření a polymorfismus.

Reklama
Reklama

Dědičnost

Je vlastnost, která vývojářům umožňuje opětovné využití kódu. Jednoduše řečeno, dědění dovoluje budovat nové třídy na základě existujících tříd. V praxi to znamená, že pokud vybudujeme třídu trida1 a do ní umístíme metody metoda1, metoda2 a metoda3, druhá třída potomek1 bude potomek trida1 a bude obsahovat tyto metody dědic1, dědic2 a dědic3. Díky dědičnosti v OOP nyní můžeme vytvořit instanci třídy potomek1 a volat metody třídy potomek1 ale i trida1. Podívejme se na kód:

potomek1 potomek = new potomek1();
//dědičnost nám zpřístupní metody třídy trida1, aniž bychom museli tvořit její instanci
potomek.metoda1();
potomek.metoda2();
potomek.metoda3();
//ale samozřejmé je, že můžeme volat i metody třídy potomek1
potomek.dedic1();
potomek.dedic2();
potomek.dedic3();

Pokud budeme definovat potomek1 jako samostatnou třídu a pokusíme se volat metody třídy trida1, dojde při kompilaci k chybě.

potomek1 potomek = new potomek1();
//tato část řádku vyhodí chybu v případě, že třída potomek1 nebude definována jako dědic třídy trida1
potomek.metoda1();
potomek.metoda2();
potomek.metoda3();
//volám metody třídy potomek1 - vše proběhne, jak má
potomek.dedic1();
potomek.dedic2();
potomek.dedic3();

Nyní si naši třídu převedeme do reálného světa. Vytvoříme třídu Pekárna, která bude definována jako mateřská, a třídy, jež budou dědit metody rodiče Pekárna. Budou to:

  • Rohlíky
  • Dorty
  • Koblihy

Pekárna bude definovat tři základní metody, společné pro všechny třídy. Těmito metodami budou:

  • Suroviny(); - vezme potřebné suroviny jako mouka, cukr, vajíčko,
  • PripravTesto(); - připraví těsto pro tvorbu rohlíku, dortu nebo koblihy,
  • Pec(); - upeče hotový výtvor.
namespace dědičnost{
  class Pekárna{
    public suroviny Suroviny(int pocet){     
    //příkazy
    }
    public testo PripravTesto(suroviny sur){      
    //příkazy
    }
    public pec Pec(testo test, int pocet){      
    //příkazy
    }
  }
}

Třída Rohlíky bude definovat jednu metodu: VytvorRohlik();. Tato metoda bude využívat metody třídy Pekárna.

namespace dědičnost{
  class Rohlíky:Pekárna{
      public rohik VytvorRohlik(){
       //vyberu suroviny, které potřebuji pro přípravu těsta rohlíku zadaného počtu rohlíků
      suroviny sur = Suroviny(5); 
      //ze surovin připravím těsto
      testo test = PripravTesto(sur);
     //metodě Pec předám hotové těsto a vrátím upečený výtvor
      return Pec(test); 
    }
  }
}

Další třídy Dorty a Koblihy budou vypadat podobně. Datové typy jsou smyšlené a jazyk C# je neobsahuje, byly použity pouze pro demonstraci.

V dnešním díle jsme si krátce představili jeden ze tří pilířů OOP, a to dědičnost. V dalších dílech se podíváme na zapouzdření a polymorfismus.

×Odeslání článku na tvůj Kindle

Zadej svůj Kindle e-mail a my ti pošleme článek na tvůj Kindle.
Musíš mít povolený příjem obsahu do svého Kindle z naší e-mailové adresy kindle@programujte.com.

E-mailová adresa (např. novak@kindle.com):

TIP: Pokud chceš dostávat naše články každé ráno do svého Kindle, koukni do sekce Články do Kindle.

Hlasování bylo ukončeno    
0 hlasů
Google
Student ČVUT FJFI katedry softwarového inženýrství v ekonomii. Mezi jeho zájmy patří programování a sport. Autor má zkušenosti s PHP 5, MySQL, XHTML a CSS. Zajímá se o platformu .NET, jazyk C#, ASP.NET a WPF.
Web    

Nové články

Obrázek ke článku Síla týmů se na home office může vytrácet. Odborníci radí, jak z pracovních omezení vytěžit maximum

Síla týmů se na home office může vytrácet. Odborníci radí, jak z pracovních omezení vytěžit maximum

Za poslední rok se podoba práce zaměstnanců změnila k nepoznání. Především plošné zavedení home office, které mělo být zpočátku jen dočasným opatřením, je pro mnohé už více než rok každodenní realitou. Co ale dělat, když se při práci z domova ztrácí motivace, zaměstnanci přestávají komunikovat a dříve fungující tým se rozpadá na skupinu solitérů? Odborníci na personalistiku dali dohromady několik rad, jak udržet tým v chodu, i když pracovní podmínky nejsou ideální.

Reklama
Reklama
Obrázek ke článku Konference: Moderní informační systémy podporují automatizaci

Konference: Moderní informační systémy podporují automatizaci

Současná situace v šíření onemocnění Covid-19 klade na řadu firem nové nároky a mnohé z nich jsou nyní více než kdy jindy závislé na nejmodernějších informačních technologiích. Proto i v oblasti podnikových informačních systémů vidíme rostoucí důraz na automatizaci nebo na důslednou integraci. Také o těchto trendech se bude mluvit na konferenci Firemní informační systémy, která se koná 24.9.2020 v pražském Kongresovém centru Vavruška na Karlově náměstí.

Obrázek ke článku Nebezpečí ukrytá v USB: z nuly na škvarek za pět sekund

Nebezpečí ukrytá v USB: z nuly na škvarek za pět sekund

Za cenu šesti dolarů lze celkem bez obtíží koupit nový, líbivě vyhlížející flash disk. Přidaná hodnota, které se vám spolu s ním dostane, už tak moc líbivá není. To, co se před pár sekundami tvářilo jako externí disk, se po připojení k počítači změní v důmyslné elektrické křeslo, které vaše zařízení v onen příslovečný škvarek promění za pár sekund. Cílovou skupinou pro koupi takových zařízení by mohli být záškodníci, kteří by tímto způsobem osnovali pomstu třeba vůči záletnému partnerovi. 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032021 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý