Abstract-klasse i C# med eksempel
โก Smart oppsummering
C# Abstract-klasse definerer en blรฅkopi som andre klasser arver, men ikke kan instansiere direkte. Denne ressursen forklarer abstracsjon, magemusklenetract-nรธkkelord, virtuelle metoder og et bearbeidet C#-eksempel pรฅ basis- og underklasser.

Hva er magemusklertract-klasse i C#?
Abstract-klasse kan aldri instansieres og er markert med nรธkkelordet abstract. En magemuskeltract-klassen inneholder null eller flere abstract-metoder i den. Magemusklertract-klassen fungerer som en basisklasse og er designet for รฅ arves av underklasser som enten implementerer eller overstyrer metoden.
La oss lรฆre magemusklertract-klassen i C# med eksempel gitt nedenfor. Nedenfor er definisjonen av en klasse kalt ยซAnimalยป. Nรฅr ยซAnimalยป-klassen er definert, er det ingenting kjent om dyret, enten det er en hund eller en katt. Metoden kalt description er bare en generisk metode definert for klassen.
Nรฅ nรฅr det er kjent nรธyaktig hva dyret kommer til รฅ bli, lager vi en annen klasse som arver basisklassen. Hvis vi vet at dyret faktisk er en hund, lager vi hundeklassen som arver hovedbasisklassen. Den viktigste forskjellen her er at hundeklassen ikke kan endre definisjonen av Description-metoden til Animal-klassen. Den mรฅ definere sine egne C# abstract-metode kalt Dog-Description. Dette er det grunnleggende konseptet bak C# abstract-klasser.
Lag en magemuskeltract-klasse i C#
La oss se magemusklenetract-klasse i C# med sanntidseksempler pรฅ hvordan vi kan endre koden vรฅr til รฅ inkludere en C# abstract-klassen. Merk at vi ikke kjรธrer koden, fordi det ikke finnes noe som kan kjรธres med en C# abstracsjonsklasse.
Trinn 1) Som et fรธrste steg, la oss lage en magemuskeltract-klassen. Klassen vil hete Tutorial og vil bare ha รฉn metode. All koden mรฅ skrives i Program.cs-filen.
Code Forklaring:-
- Vi definerer fรธrst magemusklenetract-klassen. Legg merke til bruken av magemusklenetract-nรธkkelord. Dette brukes til รฅ angi at klassen er en abstract-klassen.
- Deretter definerer vi metoden vรฅr, som ikke gjรธr noe. Metoden mรฅ ha nรธkkelordet virtual. Dette betyr at metoden ikke kan endres av barneklassen. Dette er et grunnleggende krav for enhver abs.tract-klassen.
Trinn 2) La oss nรฅ legge til barneklassen vรฅr. Denne koden legges til Program.cs-filen.
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(); } } }
Det er ingenting spesielt med denne koden. Vi definerer bare en klasse kalt 'Guru99Tutorial' som arver magemusklenetract Opplรฆringsklasse. Deretter definerer vi de samme metodene som vi har brukt tidligere.
OBS:
Her kan vi ikke endre definisjonen av Set-metoden som ble definert i Tutorial-klassen. I Tutorial-klassen hadde vi definert en metode kalt 'Set' (public virtual void Set()). Siden metoden var en del av abstracI klasse C# har vi ikke lov til รฅ definere Set-metoden pรฅ nytt i Guru99 Opplรฆringsklasse.




