Contenido verificado asociado a este RA
Fundamentos de Herencia en POO
Esta unidad introduce los conceptos esenciales de la herencia en la Programación Orientada a Objetos, diferenciando entre superclases y subclases y explicando cómo se relacionan para reutilizar código y establecer jerarquías.
Control de la herencia y de la sobrescritura: modificadores, clases abstractas y constructores
Esta unidad aborda, con Java como lenguaje de referencia, cómo controlar la herencia de clases y la sobrescritura de métodos mediante `final`, y cómo las clases y métodos abstractos pueden exigir implementación en las subclases concretas. También explica la incidencia de los constructores de la superclase cuando se crea una instancia de una subclase. Las referencias a C# se presentan únicamente como comparación técnica. El contenido se relaciona principalmente con el CE b y complementariamente con el CE c; no añade requisitos curriculares distintos de los CE oficiales.
Sobrescritura de métodos en jerarquías de clases
Esta unidad desarrolla principalmente el CE 3463: crear clases heredadas que sobrescriban la implementación de métodos de la superclase. Se estudian también, como conocimientos técnicos de apoyo, la relación entre superclase y subclase, los constructores en la herencia, el polimorfismo, la anotación @Override y la documentación del código. Estos contenidos complementarios ayudan a comprender y aplicar la sobrescritura, pero no se presentan como requisitos curriculares adicionales del CE principal.
Diseño, implementación y validación de jerarquías de clases
Esta unidad desarrolla el diseño y la aplicación de jerarquías de clases en programación orientada a objetos. Se parte de un dominio sencillo para identificar superclases y subclases, extraer características comunes, especializar comportamientos y justificar las relaciones de herencia. Después se implementa la jerarquía, se estudian la sobrescritura de métodos, los constructores y los modificadores relacionados con la herencia, y se utiliza polimorfismo para trabajar con objetos de distintas subclases. Finalmente, se prueban y depuran las clases y se documenta el código. Estos contenidos permiten trabajar especialmente el CE 3464, junto con aspectos relacionados con los CE 3463, 3466, 3467 y 3467?
Pruebas y depuración de jerarquías de clases
Esta unidad desarrolla técnicas para probar y depurar programas que utilizan jerarquías de clases. Se trabaja la verificación del comportamiento de superclases y subclases, la sobrescritura de métodos y el polimorfismo, junto con el uso de herramientas de depuración para localizar errores en constructores, llamadas a métodos, acceso a miembros y despacho dinámico. Las pruebas unitarias, las pruebas de integración y el depurador se presentan como técnicas de trabajo, no como requisitos curriculares adicionales. El foco curricular principal es el CE f: probar y depurar jerarquías de clases.
Conceptos clave
HerenciaSuperclaseSubclaseReutilización de códigoHerencia, superclase y subclase`final` aplicado a clases y métodos en Java`sealed`, `permits` y `non-sealed` en Java`sealed override` en C# como comparación técnicaClases abstractas y métodos abstractosDiferencia entre exigir implementación y forzar una relación de herenciaConstructores en la herenciaLlamada a `super()` y `super(argumentos)`Orden general de inicializaciónDocumentación de decisiones de diseñoSuperclase y subclaseSobrescritura de métodosSobrecarga de métodosPolimorfismo
Errores que conviene evitar
- Confundir superclase con subclase
- Intentar heredar de múltiples clases en lenguajes que no lo permiten directamente (como Java o C#)
- No entender que la subclase 'es un' tipo de la superclase
- Intentar heredar de una clase `final`.
- Intentar sobrescribir un método `final`.
- Confundir `sealed` con `final` en Java.
- Usar `sealed` en C# sin `override` cuando se pretende bloquear nuevas sobrescrituras.
- Olvidar que los constructores no se heredan.