Výukový program pre abstraktné triedy v C #: Čo je to abstrakcia s príkladom

Obsah:

Anonim

Čo je abstraktná trieda v C #?

Triedu abstraktu nikdy nemožno vytvoriť inštanciu a je označená kľúčovým slovom abstrakt. Abstraktná trieda obsahuje nulu alebo viac abstraktných metód. Abstraktná trieda funguje ako základná trieda a je navrhnutá tak, aby ju zdedili podtriedy, ktoré buď implementujú, alebo prepíšu svoju metódu.

Naučme sa abstraktnú triedu v C # s príkladom uvedeným nižšie. Ďalej je uvedená definícia triedy s názvom „Zviera“. Keď je definovaná trieda „Zviera“, nie je o zvierati nič známe, či už je to pes alebo mačka. Metóda s názvom description je iba všeobecná metóda definovaná pre triedu.

Teraz, keď je známe, čo presne to zviera bude, vytvoríme ďalšiu triedu, ktorá zdedí základnú triedu. Ak vieme, že zviera je v skutočnosti Pes, vytvoríme triedu psov, ktorá zdedí hlavnú základnú triedu. Kľúčový rozdiel je v tom, že trieda Pes nemôže zmeniť definíciu metódy Popis triedy Zviera. Musí definovať vlastnú abstraktnú metódu C # s názvom Dog-Description. Toto je základný koncept abstraktných tried C #.

Pozrime sa na abstraktnú triedu v C # s príkladom v reálnom čase, ako môžeme zmeniť náš kód tak, aby obsahoval abstraktnú triedu C #. Upozorňujeme, že nebudeme spúšťať kód, pretože pomocou triedy C # abstrakcie nie je možné spustiť nič.

Krok 1) Ako prvý krok si vytvoríme abstraktnú triedu. Trieda sa bude volať Tutorial a bude mať iba jednu metódu. Celý kód je potrebné zapísať do súboru Program.cs.

Vysvetlenie kódu: -

  1. Najskôr definujeme abstraktnú triedu. Všimnite si použitie abstraktného kľúčového slova. Toto sa používa na označenie, že trieda je abstraktnou triedou.
  2. Ďalej definujeme našu metódu, ktorá nič nerobí. Metóda musí mať kľúčové slovo zvané virtuálne. To znamená, že metódu nemôže zmeniť podradená trieda. Toto je základná požiadavka pre každú abstraktnú triedu.

Krok 2) Teraz pridajme našu podradenú triedu. Tento kód sa pridá do súboru Program.cs.

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace DemoApplication{abstract class Tutorial{public virtual void Set(){}}class Guru99Tutorial:Tutorial{protected int TutorialID;protected string TutorialName;public void SetTutorial(int pID,string pName){TutorialID=pID;TutorialName=pName;}public String GetTutorial(){return TutorialName;}static void Main(string[] args){Guru99Tutorial pTutor=new Guru99Tutorial();pTutor.SetTutorial(1,".Net");Console.WriteLine(pTutor.GetTutorial());Console.ReadKey();}}}

Na tomto kódexe nie je nič výnimočné. Definujeme iba triedu nazvanú „Guru99Tutorial“, ktorá dedí abstraktnú triedu Tutorial. Potom definujeme rovnaké metódy, aké sme používali predtým.

Poznámka: Tu nemôžeme zmeniť definíciu metódy Set, ktorá bola definovaná v triede Tutorial. V triede Tutorial sme definovali metódu nazvanú „Set“ (verejný virtuálny neplatný Set ()). Pretože metóda bola súčasťou abstraktnej triedy C #, nemôžeme v triede Guru99Tutorial znova definovať metódu Set.

Zhrnutie

  • Abstraktná trieda v jazyku C sharp je základná trieda, ktorá má úplne základné požiadavky na to, ako by trieda mala vyzerať. Nie je možné, aby podradená trieda zdedila metódy základnej triedy.