Abstract-klasse i C# med eksempel
⚡ Smart opsummering
C# Abstract-klasse definerer en blueprint, som andre klasser arver, men ikke kan instansiere direkte. Denne ressource forklarer abstraction, mavemusklernetract-nøgleord, virtuelle metoder og et bearbejdet C#-eksempel på basis- og underklasser.

Hvad er mavemusklertract-klasse i C#?
Abstract-klasse kan aldrig instantieres og er markeret med nøgleordet abstract. En mavemuskeltract-klassen indeholder nul eller flere abstract-metoder i det. Abstract-klassen fungerer som en basisklasse og er designet til at blive arvet af underklasser, der enten implementerer eller tilsidesætter dens metode.
Lad os lære mavemusklertract-klassen i C# med eksemplet nedenfor. Nedenfor er definitionen af en klasse kaldet 'Animal'. Når 'Animal'-klassen er defineret, vides der intet om dyret, om det er en hund eller en kat. Metoden kaldet description er blot en generisk metode defineret for klassen.
Når det nu er kendt, hvad dyret præcist skal være, opretter vi en anden klasse, som arver basisklassen. Hvis vi ved, at dyret i virkeligheden er en hund, opretter vi hundeklassen, som arver hovedbasisklassen. Den vigtigste forskel her er, at hundeklassen ikke kan ændre definitionen af Description-metoden i Animal-klassen. Den skal definere sine egne C# abstract-metode kaldet Dog-Description. Dette er det grundlæggende koncept i C# abstract-klasser.
Lav en mavemuskeltract-klasse i C#
Lad os se mavemusklertract-klasse i C# med eksempler i realtid på, hvordan vi kan ændre vores kode til at inkludere en C# abstract-klassen. Bemærk at vi ikke kører koden, da der ikke er noget, der kan køres ved hjælp af en C# abstraction klasse.
Trin 1) Som et første skridt, lad os lave en mavemuskeltract-klassen. Klassen vil hedde Tutorial og vil kun have én metode. Al koden skal skrives i Program.cs-filen.
Code Forklaring:-
- Vi definerer først mavemusklernetract-klasse. Bemærk brugen af mavemusklernetract-nøgleord. Dette bruges til at angive, at klassen er en abstract-klassen.
- Dernæst definerer vi vores metode, som ikke gør noget. Metoden skal have nøgleordet virtual. Det betyder, at metoden ikke kan ændres af underklassen. Dette er et grundlæggende krav for enhver abs.tract-klassen.
Trin 2) Lad os nu tilføje vores børneklasse. Denne kode tilføjes til filen 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(); } } }
Der er intet usædvanligt ved denne kode. Vi definerer blot en klasse kaldet 'Guru99Tutorial' som arver mavemusklernetract Tutorial-klasse. Vi definerer derefter de samme metoder, som vi har brugt før.
Bemærk:
Her kan vi ikke ændre definitionen af Set-metoden, som blev defineret i Tutorial-klassen. I Tutorial-klassen havde vi defineret en metode kaldet 'Set' (public virtual void Set()). Da metoden var en del af abstracI klasse C# må vi ikke definere Set-metoden igen i Guru99 Vejledningsklasse.




