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: