Cómo usar la herencia en C#

Cómo usar la herencia en C#
Al escribir código en un lenguaje de programación orientado a objetos, podemos encontrar situaciones en las que necesitamos reutilizar el código existente en una nueva clase o agregar funcionalidad adicional a una clase existente. En tales casos, la herencia es útil. La herencia en la programación orientada a objetos permite a las clases heredar las propiedades y el comportamiento de otra clase. Este artículo cubre el uso de la herencia en C# y sus diferentes tipos.

Tabla de contenido

¿Qué es la herencia en C#?

¿Cómo funciona la herencia en c#?

Tipos de herencia en C#

  • Herencia única
  • Herencia múltiple
  • Herencia jerárquica
  • Herencia múltiple (no compatible en C#)

Conclusión

¿Qué es la herencia en C#?

En C# usando la herencia, una clase puede tomar o heredar las propiedades y métodos de otra clase. En otras palabras, permite la creación de una nueva clase basada en una clase existente, que se conoce como clase base o súper clase. Se llama a una clase formada después de tomar las propiedades de una clase base una clase derivada o subclase.

Esta clase derivada en C# no solo toma propiedades de la clase base, sino que también puede agregar sus propias características únicas.

¿Cómo funciona la herencia en c#?

En C#, la herencia se logra mediante el uso del colon (:) símbolo. El nombre de la clase base se define después del colon, y se especifica por la clase derivada.

La siguiente es la sintaxis para crear una clase derivada que toma propiedades de la clase base:

Clase DerivedClass: baseclass

// miembros de la clase derivados

Aquí en este código, Clase derivada es el nombre de la clase derivada, y Base base es el nombre de la clase base. El : El símbolo indica que DerivedClass se hereda de Baseclass. Los miembros de DerivedClass pueden acceder a los miembros de Baseclass, siempre que no sean privados.

Tipos de herencia en C#

C# admite cuatro tipos de herencia: herencia individual, multinivel, jerárquica y múltiple. Veamos cada tipo.

Herencia única

La herencia única es el tipo más común de herencia, donde una clase derivada toma o hereda las propiedades de una sola clase base.

Por ejemplo, El código dado explica la jerarquía de clases y demuestra conceptos de herencia.

usando el sistema;
usando el sistema;
coche de clase

Public Void Start ()

Consola.Escritura ("auto iniciado");


Clase Tesla: coche

Public Void Accelerate ()

Consola.WriteLine ("Tesla acelerando");


programa de clase

static void main (string [] args)

Tesla mytesla = new tesla ();
mytesla.Comenzar(); // Salida: el coche comenzó
mytesla.Acelerar(); // Salida: Tesla acelerando

En el código anterior, el Clase de coche es la clase base y tiene un método llamado Comenzar(), que simplemente imprime el mensaje El coche comenzó a la consola.

El Clase de Tesla se deriva de la clase de automóvil, y se necesitan todas las propiedades de la clase de automóvil. La clase Tesla agrega un método llamado Acelerar(), que imprime el mensaje Tesla acelerando a la consola.

El Principal() la función define una instancia de la clase Tesla llamada mytesla y llama a sus métodos inicio () y acelerar ().

Herencia múltiple

La herencia de varios niveles es donde una clase derivada hereda de otra clase derivada, que a su vez hereda de una clase base.

Por ejemplo, El siguiente código C# demuestra la herencia y el método anular en una jerarquía de clase.

usando el sistema;
animal de clase

Public void eat ()

Consola.Escritura ("comer animal");


Clase Mammal: Animal

Public void run ()

Consola.WriteLine ("Running Mammal");


Perro de clase: mamíferos

Public Void Bark ()

Consola.Escritura ("ladrido de perros");


programa de clase

static void main (string [] args)

Perro mydog = nuevo perro ();
Mi perro.Comer(); // Salida: comer animal
Mi perro.Correr(); // Salida: Mammal Running
Mi perro.Ladrar(); // Salida: ladridos de perros

Aquí Perro es una clase derivada que hereda de Mamífero, que a su vez hereda de Animal. La clase de perros tiene acceso a todas las propiedades, métodos y comportamiento de mamíferos y animales, y también puede definir su propio método único Ladrar().

El Clase animal es la clase base y tiene un método llamado Comer(), que simplemente imprime el mensaje de animal que come en la consola.

El Clase de mamíferos se deriva de la clase animal y agrega un método llamado Correr(), que imprime el mensaje Mammal que se ejecuta a la consola.

El Clase de perros se deriva de la clase de mamíferos y agrega un método llamado Ladrar(), que imprime el mensaje del perro ladrando a la consola.

El método main () crea una instancia de la clase de perro llamada Mi perro y llama a sus métodos Eat (), Run () y Bark ().

Tenga en cuenta que los métodos Eat () y Run () no se definen en la clase de perros, sino que se heredan de sus clases de padres Animal y Mamífero, respectivamente. El Ladrar() El método solo se define en la clase de perro.

Herencia jerárquica

En la herencia jerárquica, se heredan diferentes números de clases derivadas de una sola clase de una base. Por ejemplo:

usando el sistema;
forma de clase

Public void Draw ()

Consola.WriteLine ("Forma de dibujo");


Círculo de clase: forma

Public void relleno ()

Consola.WriteLine ("Círculo de llenado");


CLASE CUADRADO: Forma

color público vacío ()

Consola.Escritura ("cuadrado para colorear");


programa de clase

static void main (string [] args)

Circle Mycircle = new Circle ();
miccírculo.Dibujar(); // Salida: forma de dibujo
miccírculo.Llenar(); // Salida: círculo de llenado
Cuadrado mySquare = new Square ();
mysquare.Dibujar(); // Salida: forma de dibujo
mysquare.Color(); // Salida: colorante cuadrado

En el código anterior, ambos Círculo y Cuadrado son clases derivadas que heredan de Forma. Tienen acceso al método Draw () definido en forma y también pueden definir sus propios métodos únicos relleno () y color ().

Aquí creamos un objeto de la clase Circle nombrada miccírculo y un objeto del Cuadrado clase nombrada mysquare. Luego llamamos al Dibujar() método, que se hereda de la clase de forma, en ambos objetos.

A continuación, llamamos al Llenar() Método en Micircle, que es específico de la clase Circle, y el Color() Método en MySquare, que es específico de la clase cuadrada.

La salida se imprimirá en la consola como se muestra a continuación:

Herencia múltiple

La herencia múltiple es donde una clase derivada hereda de múltiples clases base. Sin embargo, C# no admite la herencia múltiple. Para lograr una funcionalidad similar, C# usa interfaces.

Conclusión

La herencia en C# permite que las clases hereden el comportamiento y la funcionalidad de las clases base. Usando la herencia, podemos reutilizar el código y crear un flujo jerárquico dentro del programa. Al comprender los diferentes tipos de herencia, uno puede escribir un código más eficiente y organizado que sea más fácil de mantener y extender.