Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Industrial programming >> C Taal

C# Abstract Class-zelfstudie met voorbeeld:wat is abstractie?

Wat is abstracte klasse in C#?

Abstracte les kan nooit worden geïnstantieerd en wordt gemarkeerd door het trefwoord abstract. Een abstracte klasse bevat nul of meer abstracte methoden. Abstracte klasse fungeert als een basisklasse en is ontworpen om te worden overgenomen door subklassen die de methode implementeren of overschrijven.

Laten we abstracte klasse in C # leren met het onderstaande voorbeeld. Hieronder staat de definitie van een klasse met de naam 'Dier'. Wanneer de klasse 'Dier' is gedefinieerd, is er niets bekend over het dier, of het nu een hond of een kat is. De methode met de naam description is slechts een generieke methode die voor de klasse is gedefinieerd.

Als nu bekend is wat het dier precies zal zijn, creëren we een andere klasse die de basisklasse erft. Als we weten dat het dier in feite een hond is, maken we een hondenklasse die de hoofdbasisklasse erft. Het belangrijkste verschil hier is dat de klasse Dog de definitie van de beschrijvingsmethode van de klasse Animal niet kan veranderen. Het moet zijn eigen C#-abstracte methode definiëren, genaamd Dog-Description. Dit is het basisconcept van abstracte C#-klassen.

Maak een abstracte klasse in C#

Laten we eens kijken naar de abstracte klasse in C# met realtime voorbeelden over hoe we onze code kunnen wijzigen om een ​​abstracte C#-klasse op te nemen. Houd er rekening mee dat we de code niet uitvoeren, omdat er niets is dat kan worden uitgevoerd met een C#-abstractieklasse.

Stap 1) Laten we als eerste stap een abstracte klasse maken. De klasse zal Tutorial heten en zal slechts één methode hebben. Alle code moet in het Program.cs-bestand worden geschreven.

Code uitleg:-

  1. We definiëren eerst de abstracte klasse. Let op het gebruik van het abstracte trefwoord. Dit wordt gebruikt om aan te geven dat de klasse een abstracte klasse is.
  2. Vervolgens definiëren we onze methode die niets doet. De methode moet het trefwoord virtual hebben. Dit betekent dat de methode niet kan worden gewijzigd door de onderliggende klasse. Dit is een basisvereiste voor elke abstracte klasse.

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

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 uitzonderlijks aan deze code. We definiëren gewoon een klasse genaamd 'Guru99Tutorial' die de abstracte Tutorial-klasse erft. We definiëren dan dezelfde methodes die we al eerder gebruikten.

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

Samenvatting

Een abstracte klasse in C sharp is een basisklasse die de basisvereisten heeft van hoe een klasse eruit zou moeten zien. Het is niet mogelijk voor de onderliggende klasse om de methoden van de basisklasse te erven.


C Taal

  1. C# abstracte klasse en methode
  2. Operators in C++ met voorbeeld:wat is, typen en programma's
  3. C++-structuur met voorbeeld
  4. C++ klasse en object met voorbeeld
  5. std::lijst in C++ met Voorbeeld
  6. Verschil tussen structuur en klasse:uitgelegd met C++-voorbeeld
  7. C# Abstract Class-zelfstudie met voorbeeld:wat is abstractie?
  8. Interface versus abstracte klasse in Java:wat is het verschil?
  9. Java - Abstractie
  10. Gegevensabstractie in C++
  11. Interfaces in C++ (abstracte klassen)