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
Moderní platforma pro vytvoření vašeho nového webu – Wix.com.
Nyní už můžete mít web zdarma.
Vybavení pro Laser Game
Spuštěn Filmový magazín

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

Google       Google       17. 2. 2009       22 340×

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

Reklama
Reklama
Obrázek ke článku NopCommerce – datová vrstva a přístup k datům – 2. díl

NopCommerce – datová vrstva a přístup k datům – 2. díl

V minulém článku jsme si představili platformu NopCommerce z globálního pohledu. V dnešním díle se již zaměříme na konkrétní část systému, a to datovou vrstvu. Představíme si základní stavební kameny systému v podobě doménových objektů. Ukážeme si, jakým způsobem rozšířit doménové objekty a jakým způsobem přistupuje NopCommerce k nastavení systému a modulů.

Obrázek ke článku Seznamte se s open source platformou NopCommerce – 1. díl

Seznamte se s open source platformou NopCommerce – 1. díl

Hledáte e-commerce řešení, které si dokážete přizpůsobit podle vašich požadavků? Chcete čistý a srozumitelný kód, se kterým bude radost pracovat? Prozkoumejte s námi možnosti open source projektu NopCommerce. Seriál programování pod NopCommerce vám pomůže překonat první kroky nejistoty a úspěšně zvládnout vývoj pod platformou NopCommerce.

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