Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Industrial programming >> Lenguaje C

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

¿Qué es una clase abstracta en C#?

Clase abstracta nunca se puede instanciar y está marcado por la palabra clave resumen. 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 muestra 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.

Ahora, cuando se sabe qué va a ser exactamente el Animal, creamos otra clase que hereda la clase base. Si sabemos que el animal es de hecho 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#.

Crear una clase abstracta en C#

Veamos la 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 usando una clase de abstracción de C#.

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

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.

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 formaba parte de la clase abstracta C#, no se nos permite volver a definir el método Set en la clase Guru99Tutorial.

Resumen

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


Lenguaje C

  1. Clase y método abstractos de C#
  2. Operadores en C++ con Ejemplo:Qué es, Tipos y Programas
  3. Estructura C++ con ejemplo
  4. Clase y objeto C++ con ejemplo
  5. std::list en C++ con ejemplo
  6. Diferencia entre estructura y clase:explicada con el ejemplo de C++
  7. Tutorial de clase abstracta de C# con ejemplo:¿Qué es la abstracción?
  8. Interfaz vs clase abstracta en Java:¿cuál es la diferencia?
  9. Java - Abstracción
  10. Abstracción de datos en C++
  11. Interfaces en C++ (Clases Abstractas)