0% encontró este documento útil (0 votos)
12 vistas8 páginas

Herencia y Polimorfismo en POO

El documento explica cómo la herencia y el polimorfismo permiten representar los sonidos de diferentes animales de manera más escalable. La herencia crea una jerarquía de clases de animales, y el polimorfismo permite que cada subclase represente su propio sonido usando el mismo método "sonido". Esto es más limpio que soluciones alternativas y permite agregar nuevos animales fácilmente.

Cargado por

Avril Speaks
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
12 vistas8 páginas

Herencia y Polimorfismo en POO

El documento explica cómo la herencia y el polimorfismo permiten representar los sonidos de diferentes animales de manera más escalable. La herencia crea una jerarquía de clases de animales, y el polimorfismo permite que cada subclase represente su propio sonido usando el mismo método "sonido". Esto es más limpio que soluciones alternativas y permite agregar nuevos animales fácilmente.

Cargado por

Avril Speaks
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Programación Orientada

a Objetos
Unidad 3 - Herencia y Polimorfismo
Polimorfismo

 El termino está referido a métodos que pueden actuar de diferente manera


teniendo el mismo identificador (nombre)
 En el caso de la herencia se refiere a que las clases hijas pueden actuar de
diferentes formas en tiempo de ejecución usando un mismo método.
Ejemplo de Polimorfismo

 Supongamos desarrollamos un software que me permita representar de


manera textual los sonidos de diferentes animales. Tengamos en cuenta que
todos los animales hacen un sonido pero todos lo hacen de manera diferente.
 Esto quiere decir que tenemos que saber qué animal es para poder
representar el sonido correcto.
Solución Propuesta
En este caso podemos ver que para poder
generar el sonido adecuado tenemos que saber
qué tipo de animal es para que se pueda hacer
el sonido.
El problema es que si quiero que el programa me
permita mostrar el sonido de más animales
vamos a tener que hacer crecer la estructura
selectiva mucho más creando un problema de
mantenimiento y escalabilidad que aumentará
conforme hay más animales en el programa.
Solución Propuesta
En este caso podemos ver que en lugar de
hacer que un método haga el trabajo de
todos los animales usamos la herencia para
definir la jerarquía y el polimorfismo para
que cada clase se encargue de hacer el
sonido que le corresponde.

Esto permite que el crecimiento del software


sea mucho más limpio, menos complicado
respecto a las estructuras selectivas y de
mejor escalabilidad.
Solución Propuesta
A partir de este punto podemos definir en
la clase padre el funcionamiento del
método y luego podemos sobre escribirlo
creando nuevas funcionalidades agregadas
a la de la clase padre.

Hay que tomar que en este caso asumimos


que todos los animales comienza a
presentar su sonido con "Soy un animal y
hago... "

El uso de la palabra super permite que se


llame al método de la clase padre con el
mismo nombre (en este caso "sonido")
Solución Propuesta
Supongamos tenemos un animal que actúa de una
manera totalmente diferente.

En ese caso no hay problema porque podemos sobre


escribir el método con un resultado totalmente diferente
pero siempre con el mismo objetivo: mostrar el sonido
que hace el animal correspondiente.
Conclusiones

 La jerarquía de la Herencia permite relacionar las clases de una mejor manera


al mismo tiempo que me permite extender las funcionalidades y estructuras de
las clases permitiendo reutilizar código.
 El polimorfismo permite que un método determinado actúe de diferentes
maneras pero logrando el mismo objetivo.
 Podemos sobre escribir los métodos con el objetivo de crear menos código o para
diferenciar comportamientos entre las clases.
 La herencia junto con el polimorfismo es una poderosa herramienta para
determinar una jerarquía de clases y permitir un mejor desarrollo de software.
 La herencia nunca debe ser forzada. La misma estructura del mundo real nos
debe dar la señal de su existencia.

También podría gustarte