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.

  • 🧱 Kernekoncept: En mavemuskeltract-klassen er markeret med mavemusklernetract-nøgleordet og kan ikke instantieres alene.
  • 🧬 Arverolle: Den fungerer som en basisklasse, som underklasser arver og derefter implementerer eller tilsidesætter dens metoder.
  • 🔑 Virtuelle metoder: Metoder markeret som virtuel definerer adfærd, som afledte klasser følger, uden at omdefinere originalen.
  • 🛠️ Praktisk eksempel: Eksemplet opbygger mavemusklertract Selvstudieklasse og en Guru99Tutorial til underklasse i C#.
  • 📐 Designfordel: Abstract-klasser håndhæver en ensartet struktur på tværs af underklasser, samtidig med at de tillader specialiseret funktionalitet.

C# Abstract-klasse

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.

Abstract-klasse i C#


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.

Abstract-klasse i C#

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.

Lav en mavemuskeltract-klasse i C#

Code Forklaring:-

  1. Vi definerer først mavemusklernetract-klasse. Bemærk brugen af ​​mavemusklernetract-nøgleord. Dette bruges til at angive, at klassen er en abstract-klassen.
  2. 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.

Lav en mavemuskeltract-klasse i C#

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.

Ofte Stillede Spørgsmål

En mavemuskeltracEn t-klasse kan indeholde implementerede metoder, felter og konstruktører, og en klasse arver kun én. En grænseflade definerer kun en konstruktør.tract, og en klasse kan implementere mange grænseflader.

Ja. AI-kodningsassistenter som GitHub Copilot kan generere mavemusklertract-klasser, foreslå metodesignaturer og opret afledte klasser fra en prompt. Udviklere bør stadig gennemgå outputtet.

AI-undervisere forklarer mavemusklertraction med skræddersyede eksempler og analogier, og besvarer spørgsmål med det samme. De konverterer kode til letforståeligt sprog, hjælperping begyndere forstår, hvordan mavemusklertract-klasser skjuler detaljer og definerer delt adfærd.

Opsummer dette indlæg med: