Tabla de contenido:
Definición - ¿Qué significa herencia?
La herencia, en C #, es la capacidad de crear una clase que herede atributos y comportamientos de una clase existente. La clase recién creada es la clase derivada (o secundaria) y la clase existente es la clase base (o primaria).
La herencia es una de las características clave de la programación orientada a objetos. Los beneficios de la herencia son parte de la razón por la cual la programación estructural se puede reemplazar con la programación orientada a objetos.
La herencia en C # está diseñada tanto a nivel de implementación como a nivel de interfaz. La herencia de implementación implica código de una clase que se reutiliza en otra, mientras que la herencia de interfaz implica la herencia de solo las firmas de funciones de un tipo a otro.
La herencia también se conoce como generalización.
Techopedia explica la herencia
C # no admite la herencia múltiple, lo que significa que una clase puede derivar solo de una clase base, aunque una clase puede derivarse de una o más interfaces. Debido a la naturaleza transitiva de la herencia, una clase derivada hereda todos los miembros de sus antepasados.
Por ejemplo, las clases, Auto y Bus pueden derivarse de una clase base, Vehículo, a través de la herencia porque tanto Car como Bus son tipos de Vehículo.
Las principales características de la herencia incluyen:
- Se puede acceder a todos los miembros de la clase base, excepto aquellos con accesibilidad privada en la clase derivada.
- Todos los miembros de la clase base se heredan de la clase base, excepto los constructores y destructores.
- A diferencia de C ++, los métodos virtuales en una clase derivada necesitan usar el modificador "anular" para anular un miembro heredado.
- Para ocultar un miembro heredado con el mismo nombre y firma en la clase derivada, se puede usar el modificador "nuevo".
- Para evitar la creación de instancias directas de una clase, se puede utilizar el modificador "abstracto".
- Para evitar una mayor derivación de una clase base, se puede declarar utilizando un modificador "sellado".
- Permite la construcción de una jerarquía de clases relacionadas que pueden reutilizar, extender y alterar los comportamientos definidos en las clases existentes.
- Permite la reutilización del código, reduciendo el tiempo y el esfuerzo en la codificación y las pruebas.
- Ayuda a mejorar la modularidad y el rendimiento al dividir piezas grandes de código en piezas más pequeñas y más manejables.
- Forma los medios para lograr el polimorfismo, que permite que un objeto represente más de un tipo.
Esta definición fue escrita en el contexto de C #