Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Industrial programming >> Langue C

Tutoriel de classe abstraite C # avec exemple :Qu'est-ce que l'abstraction ?

Qu'est-ce qu'une classe abstraite en C# ?

Classe abstraite ne peut jamais être instancié et est marqué par le mot clé abstract. Une classe abstraite contient zéro ou plusieurs méthodes abstraites. La classe abstraite agit comme une classe de base et est conçue pour être héritée par des sous-classes qui implémentent ou remplacent sa méthode.

Apprenons la classe abstraite en C # avec l'exemple ci-dessous. Vous trouverez ci-dessous la définition d'une classe appelée "Animal". Lorsque la classe "Animal" est définie, on ne sait rien de l'animal, qu'il s'agisse d'un chien ou d'un chat. La méthode appelée description n'est qu'une méthode générique définie pour la classe.

Maintenant, quand on sait ce que sera exactement l'Animal, nous créons une autre classe qui hérite de la classe de base. Si nous savons que l'animal est en fait un chien, nous créons la classe Dog qui hérite de la classe de base principale. La principale différence ici est que la classe Dog ne peut pas modifier la définition de la méthode Description de la classe Animal. Il doit définir sa propre méthode abstraite C# appelée Dog-Description. C'est le concept de base des classes abstraites C#.

Créer une classe abstraite en C#

Voyons la classe abstraite en C # avec des exemples en temps réel sur la façon dont nous pouvons modifier notre code pour inclure une classe abstraite C #. Notez que nous n'exécuterons pas le code, car rien ne peut être exécuté à l'aide d'une classe d'abstraction C#.

Étape 1) Dans un premier temps, créons une classe abstraite. La classe s'appellera Tutorial et n'aura qu'une seule méthode. Tout le code doit être écrit dans le fichier Program.cs.

Explication du code :-

  1. Nous définissons d'abord la classe abstraite. Notez l'utilisation du mot-clé abstrait. Ceci est utilisé pour indiquer que la classe est une classe abstraite.
  2. Ensuite, nous définissons notre méthode qui ne fait rien. La méthode doit avoir le mot-clé appelé virtual. Cela signifie que la méthode ne peut pas être modifiée par la classe enfant. Il s'agit d'une exigence de base pour toute classe abstraite.

Étape 2) Ajoutons maintenant notre classe enfant. Ce code est ajouté au fichier 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(); 
  }
 }
}

Ce code n'a rien d'exceptionnel. Nous venons de définir une classe appelée ‘Guru99Tutorial’ qui hérite de la classe abstraite Tutorial. Nous définissons ensuite les mêmes méthodes que nous avons utilisées auparavant.

Remarque :
Ici, nous ne pouvons pas modifier la définition de la méthode Set qui a été définie dans la classe Tutorial. Dans la classe Tutorial, nous avions défini une méthode appelée ‘Set’ (public virtual void Set()). Comme la méthode faisait partie de la classe abstraite C#, nous ne sommes pas autorisés à redéfinir la méthode Set dans la classe Guru99Tutorial.

Résumé

Une classe abstraite en C sharp est une classe de base qui a les exigences de base de ce à quoi une classe devrait ressembler. Il n'est pas possible que la classe enfant hérite des méthodes de la classe de base.


Langue C

  1. Classe abstraite et méthode C#
  2. Opérateurs en C++ avec exemple :qu'est-ce que c'est, les types et les programmes
  3. Structure C++ avec exemple
  4. std ::list en C++ avec exemple
  5. Différence entre structure et classe :expliquée avec un exemple C++
  6. Tutoriel de classe abstraite C # avec exemple :Qu'est-ce que l'abstraction ?
  7. Interface vs classe abstraite en Java :quelle est la différence ?
  8. Java - Abstraction
  9. Abstraction de données en C++