Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Solucionado (ver solución)
Solucionado
(ver solución)
1
respuesta

Me perdí un poco

Tengo una duda, porque en la clase de introducción al polimorfismo mostraban que se heredaban los métodos de la clase mas genérica, pero no los de la clase mas compleja, y pusieron el ejemplo de funcionario.iniciarSesion(); el cual NO compilaba debido a que era un método de la clase mas compleja, pero en cambio veo que en este cuestionario SI se ejecuta el método de la clase mas compleja del polimorfismo, entonces no entiendo porque en uno si y en otro no, es por la sobreescritura?

1 respuesta
solución!

Hola Jeronimo, en mi caso también hubo confusión pero después de realizar el ejercicio pude resolver mis dudas. te recomiendo que hagas lo mismo. En el caso que se puso en clase Funcionario queria heredar un metodo que solo existia en la clase hija es decir gerente, por eso no se podia compilar pues solo funciona al revés. En este caso se sobrescribe el metodo Encender, que existe en la clase padre pero, ademas de sobrescribir el metodo para cada clase se da una accion diferente en cada clase. Sea encender Carro o Moto.

¿Por que el resultado es encendiendo carro o moto? Porque Intancias vehiculo pero asignando el rol de carro o moto y llamando al metodo que hay en esa clase, siendo este el metodo mas espefico, mas que encender Vehiculo que sería generico. Espero haberme explicado bien pero te recomiendo mucho que hagas el ejercicio y experimentes con el codigo hasta que lo entiendas que en realidad no esta complicado y lo veras.