Abstract-klasse in C# met voorbeeld

⚡ Slimme samenvatting

C# AbstracEen klasse definieert een blauwdruk die andere klassen overerven, maar niet rechtstreeks kunnen instantiëren. Deze bron legt abs uit.tractie, de abstracHet trefwoord 't', virtuele methoden en een uitgewerkt C#-voorbeeld van basis- en afgeleide klassen.

  • 🧱 Kernbegrip: Een buiktracDe t-klasse is gemarkeerd met de abstracHet trefwoord t kan niet op zichzelf worden geïnstantieerd.
  • 🧬 Erfrol: Het fungeert als een basisklasse waarvan subklassen erven en vervolgens de methoden ervan implementeren of overschrijven.
  • 🔑 Virtuele methoden: Methoden die als virtueel zijn gemarkeerd, definiëren gedrag dat afgeleide klassen volgen zonder het origineel opnieuw te definiëren.
  • Praktisch voorbeeld: Het voorbeeld bouwt een abstract Tutorles en een Guru99Tutorial kindklasse in C#.
  • 📐 Ontwerpvoordeel: Abstract-klassen zorgen voor een consistente structuur binnen subklassen, terwijl ze tegelijkertijd gespecialiseerde functionaliteit mogelijk maken.

C# Abstract Klasse

Wat is een buikspier?tract-klasse in C#?

Abstract Klasse kan nooit worden geïnstantieerd en is gemarkeerd met het trefwoord abs.tract. Een abstract klasse bevat nul of meer abstract methoden erin. AbstracDe klasse t fungeert als basisklasse en is ontworpen om te worden overgeërfd door subklassen die de methode ervan implementeren of overschrijven.

Laten we buikspieren leren.tracEen klasse definiëren in C# met het onderstaande voorbeeld. Hieronder staat de definitie van een klasse genaamd 'Animal'. Wanneer de klasse 'Animal' wordt gedefinieerd, is er niets bekend over het dier, of het nu een hond of een kat is. De methode genaamd `description` is een generieke methode die voor de klasse is gedefinieerd.

Abstract-klasse in C#


Als nu bekend is wat het Dier precies gaat worden, creëren we een andere klasse die de basisklasse erft. Als we weten dat het dier in feite een hond is, creëren we de klasse Hond die de hoofdbasisklasse erft. Het belangrijkste verschil hier is dat de klasse Dog de definitie van de Description-methode van de Animal-klasse. Deze moet zijn eigen C#-abs definiëren.tract methode genaamd Dog-Description. Dit is het basisconcept van C# abstract klassen.

Abstract-klasse in C#

Creëer een buikspiergroeptract-klasse in C#

Laten we eens naar de buikspieren kijkentracEen t-klasse in C# met realtime voorbeelden van hoe we onze code kunnen aanpassen om een ​​C#-abs-klasse op te nemen.tract-klasse. Merk op dat we de code niet zullen uitvoeren, omdat er niets is dat kan worden uitgevoerd met een C#-abs-bestand.tractie-klasse.

Stap 1) Laten we als eerste stap een buikspiergroep creëren.tract klasse. De klasse zal Tutorial heten en slechts één methode bevatten. Alle code moet in het bestand Program.cs worden geschreven.

Creëer een buikspiergroeptract-klasse in C#

Code Uitleg:-

  1. We definiëren eerst de abstract-klasse. Let op het gebruik van de abstracHet trefwoord 't' wordt gebruikt om aan te geven dat de klasse een absolute klasse is.tract-klasse.
  2. Vervolgens definiëren we onze methode die niets doet. De methode moet het sleutelwoord `virtual` bevatten. Dit betekent dat de methode niet kan worden gewijzigd door de afgeleide klasse. Dit is een basisvereiste voor elke abstracte klasse.tract-klasse.


Stap 2) Laten we nu onze kinderklasse toevoegen. Deze code wordt toegevoegd aan het Program.cs-bestand.

Creëer een buikspiergroeptract-klasse in 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();
  }
 }
}

Er is niets bijzonders aan deze code. We definiëren gewoon een klasse genaamd 'Guru'99Tutorial' die de abs overerfttract Tutorial-klasse. Vervolgens definiëren we dezelfde methoden als die we eerder hebben gebruikt.

Let op:
Hier kunnen we de definitie van de Set-methode, die in de Tutorial-klasse is gedefinieerd, niet wijzigen. In de Tutorial-klasse hadden we een methode gedefinieerd met de naam 'Set' (public virtual void Set()). Omdat de methode deel uitmaakte van de abstracIn de C#-klasse mogen we de Set-methode niet opnieuw definiëren. Guru99Tutorial-les.

Veelgestelde vragen

Een buiktracEen klasse kan geïmplementeerde methoden, velden en constructors bevatten, en een klasse erft er slechts één van. Een interface definieert slechts één constructor.tract, en een klasse kan veel interfaces implementeren.

Ja. AI-codeerassistenten zoals GitHub Copilot kunnen abs genereren.tracDe tool geeft suggesties voor t-klassen, methodesignaturen en de mogelijkheid om afgeleide klassen te creëren op basis van een prompt. Ontwikkelaars dienen de uitvoer echter nog steeds te controleren.

AI-tutoren leggen de buikspieren uittracZe geven uitleg met op maat gemaakte voorbeelden en analogieën en beantwoorden vragen direct. Ze zetten code om in begrijpelijke taal, helpenping beginners begrijpen hoe buikspieren werkentract-klassen verbergen details en definiëren gedeeld gedrag.

Vat dit bericht samen met: