¿Qué son la herencia y el polimorfismo en el contexto de los tipos de datos de referencia?
sobes.tech AI
Respuesta de la IA
La herencia es un mecanismo de la POO que permite crear nuevas clases basadas en las existentes. La nueva clase (subclase) hereda los campos y métodos de la clase padre, y también puede agregar los suyos propios o sobrescribir los existentes. Esto favorece la reutilización del código y la creación de jerarquías lógicas.
El polimorfismo es la capacidad de objetos de diferentes clases para responder de manera diferente a un mismo método. Para tipos de datos referenciados, esto significa que se puede trabajar con objetos de diferentes clases a través de una referencia a la clase base o interfaz. La implementación concreta del método llamado dependerá del tipo real del objeto en tiempo de ejecución. Existen dos tipos principales de polimorfismo:
- Estático (sobrecarga de métodos): El mismo método tiene varias implementaciones con diferentes conjuntos de parámetros. El compilador determina qué implementación usar en función de la firma del método.
- Dinámico (sobrescritura de métodos): La subclase proporciona su propia implementación del método, que ya está definido en la clase padre. La llamada al método a través de una referencia a la clase padre se realiza para ejecutar la implementación en la subclase (si existe).