Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
2
respuestas

[Duda] Sobrecarga o sobrescritura

En este ejemplo, la respuesta correcta dice: Siempre será llamado el método más específico, primero el método de Moto, después de Carro.

El hecho es que las tres clases tienen un método con el mismo nombre (encender) ademas de que los tres no retornan algo y que tampoco tienen parámetros.

¿A eso a lo que se le llama sobrecarga o sobrescritura?

Por otra parte, al decir que siempre se llama el método mas especifico ¿hace referencia a que como los métodos tienen el mismo nombre, siempre se comienza a buscar en la misma clase, y si no lo encuentra, busca el método en la superclase?

2 respuestas

Hola, Gerardo. A eso se le llama sobrescritura. Y sí, siempre se llama al método más específico que lleve el mismo nombre en las clases relacionadas por herencia. Pero si no el método no está sobrescrito en la clase más específica, llamará al método de la clase madre y así sucesivamente hasta que se lo encuentre. Un saludo!

Si este post te ayudó, por favor, marca como solucionado ✓. Continúa con tus estudios

Hola Gerardo, espero que estés bien.

Gracias por pregunta, es muy relevante.

En la situación del ejercicio de clase, tenemos la sobreescritura del método de la clase principal. Esto sucedió porque el método public void encender() tiene la misma firma (nombre de una función junto con el tipo de datos que devuelve) y hay en la clase padre e hija.

Como había una especialización, la clase hija anuló el método de la clase madre y el método de la clase madre ya no está disponible para la clase hija. Tenga en cuenta que sobrescribir es un concepto relacionado con la herencia.

En cuanto al concepto de sobrecarga, ocurre cuando hay variaciones de un mismo método, es decir, la creación de dos o más métodos con nombres completamente idénticos en una clase. La sobrecarga nos permite usar el mismo nombre en más de un método siempre que sus listas de argumentos sean diferentes para poder separarlos.

¡Espero haberte quedado claro!

Continúa con tus estudios y cualquier duda estaremos aquí =)

¡Un saludo!

Si este post te ayudó, por favor, marca como solucionado ✓. Continúa con tus estudios