Tabla de contenido:
Definición - ¿Qué significa Clase Derivada?
Una clase derivada, en el contexto de C #, es una clase creada o derivada de otra clase existente. La clase existente de la que se crea la clase derivada a través de la herencia se conoce como base o superclase.
Al heredar de la clase base, la clase derivada hereda implícitamente todos los miembros (excepto los constructores y destructores) que reutiliza, extiende y modifica el comportamiento de la clase base. La clase derivada anula las propiedades y métodos de la clase base para que represente la versión especializada de la clase base. C # proporciona la capacidad de anular y ocultar los métodos de la clase base en la clase derivada, lo que hace que ambas clases evolucionen libremente y mantengan la compatibilidad binaria.
Techopedia explica la clase derivada
Las siguientes son algunas de las características de las clases derivadas en C #:
- Al igual que en Java y, a diferencia de C ++, una clase derivada no puede tener más de una clase base, pero puede derivarse de más de una interfaz. Sin embargo, hereda todos los miembros de sus clases base padre declaradas en su jerarquía de herencia, debido a la naturaleza transitiva de la herencia.
- Los modificadores de acceso utilizados en la declaración de declaración de la clase derivada especifican los permisos para usar miembros de su clase base
- El código en el constructor de una clase derivada que se ejecuta durante su creación, se ejecutará solo después de ejecutar el constructor de su clase base
- La clase derivada tiene que usar el modificador, 'anular' para declarar el método virtual (declarado en su clase base con la palabra clave 'virtual') que debe anularse. Solo se pueden anular los métodos y propiedades de instancia
- La clase derivada puede tener un nuevo método que oculta el método virtual declarado en la base (con una firma similar) mediante el uso de la palabra clave 'nuevo'. Para acceder al método en la clase base desde la clase derivada, se puede usar la palabra clave 'base'
- Una clase puede evitar la derivación al declararla como 'sellada' y no puede usarse como clase base
- Una clase derivada con la clase base como una clase abstracta se puede instanciar si la clase derivada no se declara abstracta y la clase derivada tiene la implementación para todos los métodos abstractos declarados en la clase base
