Skip to content
Herencia y polimorfismo
Programación · III Medio · Programación Orientada a Objetos (POO) · 2.º Período

Herencia y polimorfismo

Reutilización de código mediante la herencia de atributos y métodos entre clases. Implementación de comportamientos dinámicos y flexibles con polimorfismo.

En resumen:La herencia y el polimorfismo son conceptos avanzados que permiten llevar la reutilización de código al siguiente nivel. Con la herencia, los estudiantes aprenden a crear jerarquías donde una clase 'hija' hereda características de una clase 'padre', evitando la duplicación innecesaria de código. Por ejemplo, en un sistema de fauna chilena, las clases 'Cóndor' y 'Pudú' podrían heredar de una clase base 'Animal'. Esto cumple con el OA 4 al fomentar prácticas de desarrollo eficientes y profesionales.

Objetivos de Aprendizaje (OA)OA 4: Desarrollar aplicaciones informáticas utilizando un lenguaje de programación.OA 6: Probar y documentar aplicaciones informáticas.

Acerca de este tema

La herencia y el polimorfismo son conceptos avanzados que permiten llevar la reutilización de código al siguiente nivel. Con la herencia, los estudiantes aprenden a crear jerarquías donde una clase 'hija' hereda características de una clase 'padre', evitando la duplicación innecesaria de código. Por ejemplo, en un sistema de fauna chilena, las clases 'Cóndor' y 'Pudú' podrían heredar de una clase base 'Animal'. Esto cumple con el OA 4 al fomentar prácticas de desarrollo eficientes y profesionales.

El polimorfismo, por su parte, permite que diferentes objetos respondan al mismo mensaje de maneras distintas. Es la capacidad de tratar a diversos objetos de forma genérica, lo que otorga una flexibilidad enorme al software. Estos conceptos son fundamentales para entender cómo se construyen los grandes marcos de trabajo (frameworks) que se usan en la industria actual.

La complejidad de estos temas requiere que los estudiantes colaboren para desglosar las jerarquías y explicar a sus pares cómo fluye la herencia en un sistema real.

Preguntas Clave

  1. ¿Cómo evitamos repetir código entre clases con características similares?
  2. ¿Qué significa que un objeto pueda tomar múltiples formas?
  3. ¿En qué escenarios prácticos es útil aplicar la herencia?

Cuidado con estas ideas erróneas

Idea errónea comúnAbusar de la herencia para todo.

Qué enseñar en su lugar

A veces los estudiantes heredan solo para ahorrar dos líneas de código, creando jerarquías confusas. El debate en clase sobre 'composición vs herencia' ayuda a entender que la herencia debe representar una relación real de tipo 'es un'.

Idea errónea comúnCreer que el polimorfismo solo funciona con herencia.

Qué enseñar en su lugar

Aunque es lo común, también existe a través de interfaces. Las actividades de peer teaching pueden mostrar cómo diferentes clases pueden cumplir un mismo 'contrato' sin ser de la misma familia.

Ideas de aprendizaje activo

Ver todas las actividades

Preguntas frecuentes

¿Cuál es la principal ventaja de la herencia?
La principal ventaja es la reutilización de código y la facilidad de mantenimiento. Si necesitas cambiar algo que afecta a todos los tipos de 'Animal', solo lo cambias en la clase padre y todas las hijas se actualizan automáticamente.
¿Qué es el polimorfismo en palabras simples?
Es la capacidad de un programa de enviar el mismo mensaje a diferentes tipos de objetos y que cada uno sepa cómo responder a su manera. Es como dar la orden 'moverse' a un pájaro, un pez y un perro; cada uno lo hará de forma distinta.
¿Cómo facilita el aprendizaje activo estos conceptos abstractos?
La herencia y el polimorfismo pueden ser muy teóricos. Al usar simulaciones físicas donde los estudiantes actúan como objetos, la jerarquía se vuelve tangible. Ver y escuchar cómo diferentes 'objetos' reaccionan a un mismo comando ayuda a fijar el concepto de polimorfismo mucho mejor que leer una definición.
¿Se puede heredar de varias clases a la vez?
Depende del lenguaje. En lenguajes como Java o C#, no se permite la herencia múltiple directa para evitar conflictos, pero se usan 'Interfaces' para lograr un efecto similar de manera más segura.
Edited by Adriana Perusin, Editor-in-Chief, Flip Education