C # Absztrakt oktatóanyag: Mi az absztrakció a példával

Tartalomjegyzék:

Anonim

Mi az absztrakt osztály a C # kategóriában?

Az Absztrakt osztály soha nem lehet példányosítani, és az elvont kulcsszó jelöli. Az absztrakt osztály nulla vagy több absztrakt módszert tartalmaz. Az absztrakt osztály alaposztályként működik, és úgy tervezték, hogy azokat az alosztályok örököljék, amelyek megvalósítják vagy felülírják a módszerét.

Tanuljuk meg az absztrakt osztályt C # nyelven az alábbi példával. Az alábbiakban az „állat” nevű osztály meghatározása található. Az „állat” osztály meghatározásakor semmit sem lehet tudni az állatról, legyen szó kutyáról vagy macskáról. A leírásnak nevezett módszer csak egy általános módszer, amelyet az osztály definiál.

Most, amikor ismert, hogy pontosan mi lesz az állat, létrehozunk egy másik osztályt, amely az alaposztályt örökli. Ha tudjuk, hogy az állat valójában kutya, akkor létrehozunk egy kutya osztályt, amely a fő alaposztályt örökli. A legfontosabb különbség itt az, hogy a Kutya osztály nem változtathatja meg az Állatok osztály Leírás módszerének definícióját. Meg kell határoznia a saját C # absztrakt módszerét, Dog-Description néven. Ez a C # absztrakt osztályok alapkoncepciója.

Lássuk a C # absztrakt osztályát, valós idejű példával, hogyan változtathatjuk meg kódunkat egy C # absztrakt osztályra. Vegye figyelembe, hogy nem fogjuk futtatni a kódot, mert semmit nem lehet futtatni egy C # absztrakciós osztály használatával.

1. lépés: Első lépésként hozzunk létre egy absztrakt osztályt. Az osztály neve Tutorial lesz, és csak egy módszere lesz. Az összes kódot be kell írni a Program.cs fájlba.

Kód Magyarázat: -

  1. Először definiáljuk az absztrakt osztályt. Vegye figyelembe az absztrakt kulcsszó használatát. Ez arra utal, hogy az osztály elvont osztály.
  2. Ezután meghatározzuk a módszerünket, amely semmit sem tesz. A metódusnak rendelkeznie kell a virtuális kulcsszóval. Ez azt jelenti, hogy a módszert a gyermekosztály nem tudja megváltoztatni. Ez minden elvont osztály alapkövetelménye.

2. lépés) Most adjuk hozzá a gyermekosztályunkat. Ez a kód hozzáadódik a Program.cs fájlhoz.

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();}}}

Ebben a kódban nincs semmi kivételes. Csak egy „Guru99Tutorial” nevű osztályt határozunk meg, amely az absztrakt Tutorial osztályt örökli. Ezután ugyanazokat a módszereket definiáljuk, amelyeket korábban is használtunk.

Megjegyzés: Itt nem tudjuk megváltoztatni a Set módszer definícióját, amelyet az Oktatóórában definiáltunk. Az Oktatóórán meghatároztuk a „Set” (nyilvános virtuális void Set ()) nevű metódust. Mivel a módszer a C # absztrakt osztály része volt, nem engedélyezhetjük a Set módszer újbóli meghatározását a Guru99Tutorial osztályban.

Összegzés

  • A C éles absztrakt osztály egy alaposztály, amelynek nagyon alapvető követelményei vannak, hogy egy osztály hogyan nézzen ki. Nem lehetséges, hogy a gyermekosztály örökölje az alaposztály módszereit.