Tutorial de clase abstracta de C# con ejemplo: ¿Qué es la abstracción?

¿Qué es la clase abstracta en C#?

Clase abstracta Nunca se puede crear una instancia y está marcado con la palabra clave abstract. Una clase abstracta contiene cero o más métodos abstractos. La clase abstracta actúa como una clase base y está diseñada para ser heredada por subclases que implementan o anulan su método.

Aprendamos la clase abstracta en C# con el ejemplo que se proporciona a continuación. A continuación se muestra la definición de una clase llamada "Animal". Cuando se define la clase "Animal", no se sabe nada sobre el animal, ya sea un perro o un gato. El método llamado descripción es solo un método genérico definido para la clase.

Clase abstracta en C#

Ahora que sabemos qué será exactamente el Animal, creamos otra clase que hereda la clase base. Si sabemos que el animal es en realidad un Perro, creamos la clase Perro que hereda la clase base principal. La diferencia clave aquí es que la clase Perro no puede cambiar la definición del método Descripción de la clase Animal. Tiene que definir su propio método abstracto de C# llamado Dog-Description. Este es el concepto básico de las clases abstractas de C#.

Clase abstracta en C#

Crear una clase abstracta en C#

Veamos una clase abstracta en C# con ejemplos en tiempo real sobre cómo podemos cambiar nuestro código para incluir una clase abstracta de C#. Tenga en cuenta que no ejecutaremos el código porque no hay nada que se pueda ejecutar utilizando una clase abstracta de C#.

Paso 1) Como primer paso, creemos una clase abstracta. La clase se llamará Tutorial y tendrá solo un método. Todo el código debe escribirse en el archivo Program.cs.

Crear una clase abstracta en C#

Explicación del código: -

  1. Primero definimos la clase abstracta. Tenga en cuenta el uso de la palabra clave abstracta. Esto se usa para indicar que la clase es una clase abstracta.
  2. A continuación, estamos definiendo nuestro método que no hace nada. El método debe tener la palabra clave llamada virtual. Esto significa que la clase secundaria no puede cambiar el método. Este es un requisito básico para cualquier clase abstracta.

Paso 2) Ahora agreguemos nuestra clase secundaria. Este código se agrega al archivo Program.cs.

Crear una clase abstracta en 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(); 
  }
 }
}

No hay nada excepcional en este código. Simplemente definimos una clase llamada 'Guru99Tutorial' que hereda la clase Tutorial abstracta. Luego definimos los mismos métodos que hemos estado usando antes.

Nota:
Aquí no podemos cambiar la definición del método Set que se definió en la clase Tutorial. En la clase Tutorial, habíamos definido un método llamado 'Set' (Conjunto vacío virtual público()). Dado que el método era parte de la clase abstracta C#, no podemos volver a definir el método Set en la clase Guru99Tutorial.

Resumen

Una clase abstracta en Do sostenido es una clase base que tiene los requisitos básicos de cómo debería verse una clase. No es posible que la clase hija herede los métodos de la clase base.