🏠 Inicio ➡️ / 📖 Sesión 05
⚒️ Explorar los conceptos fundamentales de la programación orientada a objetos en Java: herencia, composición, interfaces, clases abstractas y polimorfismo, para escribir código más limpio, reutilizable y flexible.
📘 Material del prework:
Antes de comenzar con los ejercicios de esta sesión, recordemos que en el material de prework hemos cubierto los fundamentos teóricos que aplicaremos hoy. A lo largo de esta sesión, pondremos en práctica estos conceptos mediante una serie de ejercicios y retos diseñados para reforzar y validar nuestro entendimiento. 🔥¡Vamos a comenzar!🔥
La herencia permite que una clase (subclase) herede atributos y métodos de otra (superclase), promoviendo la reutilización de código.
- Uso de
extendsysuper - Herencia simple vs. herencia múltiple
La composición permite que una clase contenga instancias de otras clases, favoreciendo un diseño más flexible y modular.
- Cuándo usar herencia (
is-a) vs. composición (has-a) - Ventajas de la composición
- Buenas prácticas modernas
Las interfaces definen contratos de comportamiento, mientras que las clases abstractas establecen una estructura base común.
- Diferencias y casos de uso
- Métodos abstractos y
default - Herencia múltiple mediante interfaces
El polimorfismo permite que múltiples clases respondan de forma distinta al mismo método. @Override garantiza una sobrescritura correcta.
- Tipos de polimorfismo en Java
- Sobrescritura de métodos (
method overriding) - Uso de
@Overridepara mayor claridad
