V oblasti objektovo orientovaného programovania je dedičnosť centrálnym aspektom. S ňou môžeš dediť z existujúcich tried a pridať nové funkčnosti do podtried (subklasy). V tomto návode sa zameriavaš na vytvorenie špecifickej subtriedy, "kamión", aby si sa prakticky naučil základy dedičnosti v C#.

Hlavné poznatky

  • Dedičnosť umožňuje vytvoriť subtriedu z základnej triedy.
  • Konstruktory sú rozhodujúce na určenie špecifických vlastností subtriedy.
  • Metódy základnej triedy môžu byť v subtriede prepísané na definovanie špecifického správania.

Príručka krok za krokom

Krok 1: Použitie Prieskumníka projektov a pridanie triedy

Aby si vytvoril subtriedu kamión, otvori svoj Prieskumník projektov. Tu klikneš pravým tlačidlom myši na svoj projekt a vyberieš možnosť „Pridať“. Rozhodni sa pre prídanie novej triedy a nazvi ju „kamión“. Táto trieda bude obsahovať všetky vlastnosti a metódy, ktoré sú špecifické pre kamióny.

Vytvorte podtriedu LKW v C# a implementujte výpočet mýta

Krok 2: Vytvorenie súkromnej premennej

V triede kamión ako ďalší krok vytvor súkromnú premennú, ktorá bude uchovávať počet náprav. Táto informácia je dôležitá, pretože zohráva úlohu pri výpočte mýtnych poplatkov. Môžeš nazvať premennú „pocetNavrhov“. Týmto je prvá časť špecifických vlastností tvojho kamiónu už definovaná.

Krok 3: Vytvorenie konštruktorov subtriedy

Teraz je čas na vytvorenie konštruktorov tvojej triedy kamión. Začneš s prepísanou konštruktorovou metódou. Táto metóda akceptuje parametre ako model, spotreba a objem nádrže. Pri tom odovzdáš tieto hodnoty do konštruktorovej metódy základnej triedy Auto. Musíš sa uistiť, že počet náprav je tiež definovaný.

Krok 4: Odvodnenie subtriedy z základnej triedy

Aby bolo zabezpečené, že trieda kamión je uznávaná ako subtrieda základnej triedy Auto, pridáš v hlavičke triedy kamión s dvojbodkou základnú triedu. Týmto sa vytvára vzťah medzi triedou kamión a základnou triedou Auto, čo ti umožní prístup k ich metódam a vlastnostiam.

Vytvorte podtriedu LKW v C# a implementujte výpočet mýta

Krok 5: Vytvorenie druhej konštruktorovej metódy subtriedy

Okrem prepísanej metódy vytvor bežnú konštruktorovú metódu. Tá by mala mať model, spotrebu a objem nádrže ako parametre, ale nemala by prijať počet náprav ako vstup. Namiesto toho bude predvolene nastavená na dve, aby zvládla najbežnejší scenár kamiónu.

Krok 6: Prepísať metódu jazdy

Ďalším krokom je prepísanie metódy jazdy, ktorá je definovaná v základnej triede Auto. V tejto metóde vypočítaš náklady na jazdu na základe prejdenej vzdialenosti, parametrov vozidla a toho, či bol kamión na diaľnici. Musíš sa uistiť, že náklady na mýto sú vypočítané v závislosti od počtu náprav.

Krok 7: Použitie príkazu switch na výpočet mýta

Tu môžeš zaviesť príkaz switch, ktorý spracováva rôzne prípady pre počet náprav. To je dôležité, pretože kamióny s rôznymi počtami náprav mají rôzne mýtne sadzby. Môžeš tiež použiť alternatívne kontrolné štruktúry, ale príkaz switch tu zabezpečuje prehľadnosť a čitateľnosť.

Krok 8: Vyvolanie konštruktora subtriedy

Teraz, keď je tvoja trieda kamión definovaná, môžeš v programe CS vytvoriť inštanciu triedy. Na to vyvoláš konštruktor triedy kamión, aby si vytvoril nový objekt kamiónu, ktorý obsahuje všetky potrebné parametre. Taktiež určíš, koľko kamión spotrebuje a aké špecifické vlastnosti má.

Vytvoriť podtriedu LKW v C# a implementovať výpočet mýtneho

Krok 9: Jazda kamiónu a zobrazenie nákladov na jazdu

Ako náhle si inštancoval kamión, nechaj ho jazdiť vyvolaním metódy jazdy. Odovzdaj prejdenú vzdialenosť a či kamión jazdil na diaľnici alebo nie. Na konci zobrazíš náklady na jazdu, ktoré boli vypočítané na základe počtu náprav v metóde, v konzole.

Vytvorte podtriedu LKW v C# a implementujte výpočet mýta

Zhrnutie – Vytvorenie triedy kamión v C#

V tomto návode si sa naučil, ako vytvoriť subtriedu kamión v C#. Naučil si sa základy dedičnosti a aplikoval si ich vytvorením súkromných premenných a konštruktorov pre subtriedu. Mohol si prepísať metódy a definovať špecifické správanie pre kamióny. S týmito schopnosťami teraz môžeš písať komplexnejšie objektovo orientované programy v C#.

Často kladené otázky

Akoý je rozdiel medzi triedou a subtriedou?Trieda je všeobecným vzorovým modelom, zatiaľ čo subtrieda dedí špecifické vlastnosti a metódy od základnej triedy.

Ako vytvorím konštruktor v C#?Konštruktor je definovaný triedou, ktorú vytvára, a nesie rovnaký názov ako táto trieda bez návratového typu.

Môžem metódu v subtriede prepísať viackrát?Áno, môžeš metódu v subtriede prepísať. To je užitočné na definovanie špecifického správania pre rôzne subtriedy.

Ako používam príkaz switch v C#?Príkaz switch ti umožňuje ovládať rôzne kódové cesty v závislosti od hodnoty premennej. Je to efektívny spôsob, ako sa vyhnúť zložitým rozvetveniam.