Introducción a la herencia en C #

La herencia en C # es el proceso de adquirir todas las propiedades de una clase en otra clase. Hay dos clases denominadas clase base y clase derivada. La clase base también se conoce como clase padre y las propiedades o métodos de esta clase que queremos heredar a otra clase.

La clase derivada se conoce como clase secundaria que se utiliza para heredar las propiedades y los métodos de la clase base o la clase primaria. Ayuda a reutilizar el mismo código nuevamente y no es necesario definir las mismas propiedades una y otra vez.

La herencia es uno de los poderosos conceptos o atributos fundamentales del lenguaje de programación orientado a objetos. Es ampliamente utilizado en todos los lenguajes de programación basados ​​en OOP. Su propósito principal es usar el mismo código nuevamente. El ejemplo de la Estructura Básica de Herencia se da a continuación:

class BaseClass ( )
class ChildClass: BaseClass ()

Tipos de herencia en C #

Hay diferentes tipos de herencia en C #:

1. Herencia de un solo nivel

En herencia única, solo hay una clase base y una clase derivada. Significa que la clase secundaria heredará las propiedades de la clase primaria y la usará.

Ejemplo:
class BaseClass
(
public void hello()
(
Console.WriteLine("Parent's Hello Method");
)
)
class ChildClass : BaseClass
(
public void World()
(
Console.WriteLine("Child's World Method");
)
)

2. Herencia multinivel

En este tipo de herencia, solo hay una clase base y hay varias clases derivadas disponibles. Si una clase se crea usando otra clase derivada, se conoce como herencia multinivel.

Ejemplo:

class BaseClass
(
public void hello()
(
Console.WriteLine("Parent's Hello Method");
)
)
class ChildClass : BaseClass
(
public void World()
(
Console.WriteLine("Child's World Method");
)
)
class SecondChildClass : ChildClass
(
public void Hi()
(
)
)

3. Herencia múltiple

En este tipo de herencia, esto se puede lograr con la ayuda de una interfaz múltiple, no con una clase. En palabras simples, C # no admite múltiples herencias, pero si desea lograrlo, puede hacerlo solo con la ayuda de interfaces.

Ejemplo:

Interface A ()
Interface B ()
Class C: A, B ()

4. Herencia jerárquica

En este tipo de herencia, hay una clase principal y las otras clases derivadas heredan la misma clase principal para lograr esta herencia.

Ejemplo :

class BaseClass
(
public void hello()
(
Console.WriteLine("Parent's Hello Method");
)
)
class ChildClass : BaseClass
(
public void World()
(
Console.WriteLine("Child's World Method");
)
)
class SecondChildClass : BaseClass
(
public void Hi()
(
)
)

Ventajas de la herencia

Las ventajas de la herencia son:

  • Ayuda a usar el mismo código nuevamente significa la reutilización del código.
  • Reduce la redundancia de código.
  • Ayuda a leer el código más cómodamente.
  • También reduce el tamaño del código fuente y el archivo.
  • Ayuda a proporcionar la extensibilidad al código.
  • El código es fácil de administrar, ya que se divide en clases de la clase base y la clase secundaria.
  • No se accede a los miembros privados en la clase derivada cuando los miembros de la clase base son heredados por la clase derivada.
  • No admite múltiples herencias, pero se puede lograr a través de interfaces.
  • Ayuda a lograr el polimorfismo que permite que un objeto represente más de un tipo.
  • Ayuda a dividir el código grande en piezas pequeñas.

Características de la herencia

Las características de la herencia son:

  • La herencia se puede utilizar para evitar la creación de instancias directas de la clase, y para lograr esta palabra clave abstracta se ha utilizado.
  • Se puede acceder a los miembros de la clase base en la clase derivada, excepto los miembros de clave privada.
  • Los miembros de la clase base se pueden heredar en la clase derivada, excepto para el constructor y el destructor también.
  • En C #, los métodos virtuales de una clase base deben usar la palabra clave de anulación en la clase derivada.
  • En C #, para evitar la herencia de la clase que se puede declarar con la palabra clave sellada.
  • Si los miembros heredados deben ocultarse con el mismo nombre y firma en la clase derivada, entonces ese método debe definirse con la nueva palabra clave.

¿Por qué usar Herencia y cómo facilita el trabajo?

La herencia se usa cuando el mismo código necesita ser usado en otra clase. Entonces, en lugar de escribir el mismo código, una y otra vez, existe un concepto de programación orientada a objetos que es Herencia que ayuda a usar la misma funcionalidad como métodos o propiedades de una clase a otra clase. Con la ayuda de punto y coma (:), podemos heredar los miembros de la clase base a clase secundaria o clase derivada.

Es fácil trabajar porque ayuda a evitar la confusión de la llamada a un método desde el cual se llama al método de clase. Hace que el código sea reutilizable y hace que el archivo sea más liviano con menos número de líneas de código fuente. Esto hace que el código sea menos redundante y más flexible para usar en diferentes clases. Mantiene la estructura del programa que ayuda a leer el código fácilmente.

Conclusión: herencia en C #

  • La herencia es el concepto más utilizado de programación orientada a objetos en todos los lenguajes basados ​​en OOP y, por lo tanto, en C #. Ayuda al desarrollador a lograr muchas cosas y hace que el código sea más fluido y legible.
  • El polimorfismo es el otro concepto de Uy que se puede lograr solo con la ayuda de Herencia. La mayoría de los problemas se han resuelto con estos dos conceptos que van de la mano.
  • En Herencia, la clase base y la clase derivada están estrechamente acopladas como si hubiera algún cambio en la clase base, entonces automáticamente toda la clase secundaria se verá afectada. La herencia debe usarse con mucho cuidado, ya que si los miembros de datos no se usan correctamente y la memoria se les asigna, entonces afecta el rendimiento de la aplicación.
  • Existen diferentes niveles de herencia que se utilizan para programar o desarrollar una aplicación. Se puede implementar en cualquier tipo de aplicación, como aplicaciones basadas en web o de escritorio. Depende del desarrollador cómo y dónde usar la herencia, ya que brinda mucha flexibilidad, características y ayuda a lograr las cosas.

Artículos recomendados

Esta ha sido una guía de herencia en C #. Aquí discutimos la introducción, los tipos, las ventajas y las características de Herencia en C #. También puede consultar nuestros otros artículos sugeridos para obtener más información.

  1. Herencia en VB.Net
  2. ¿Qué es Multithreading en C #?
  3. Comandos C #
  4. C # vs JavaScript
  5. Herencia en Java
  6. Métodos de subprocesamiento múltiple en C #