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

Mismo nombre diferentes comportamientos

En esta clase, aprendimos sobre la sobreescritura de métodos en Java, una característica clave de la programación orientada a objetos.

Vimos cómo podemos tener métodos con el mismo nombre en diferentes clases, pero con comportamientos distintos. Esto nos permite reutilizar código y adaptarlo a las necesidades específicas de cada clase.

En el ejemplo, creamos una clase Serie que hereda de la clase Título. Ambas clases tienen un método getDuraciónEnMinutos, pero este método se sobreescribe en la clase Serie para calcular la duración total de una serie, teniendo en cuenta el número de temporadas, episodios por temporada y minutos por episodio.

También aprendimos sobre la anotación @Override, que es una buena práctica para indicar que un método está sobreescribiendo otro. Esta anotación nos ayuda a evitar errores y a mantener nuestro código limpio y legible.

Finalmente, vimos cómo podemos usar el método super para acceder a los métodos de la clase padre.

¿Te gustaría practicar con un ejercicio? Imagina que tienes una clase Animal con un método hacerSonido. Crea una clase Perro que herede de Animal y sobreescribe el método hacerSonido para que el perro ladre. ¡Intenta hacerlo tú mismo!

2 respuestas

Hola Frank, espero que estés bien

Gracias por compartir tu ejercício práctico con nosotros! Tu contribución es fundamental para el crecimiento de nuestra comunidad en Alura. Sigue comprometido y no dudes en regresar al foro en caso que tengas alguna duda o dificultad.

¡Abrazos y buenos estudios!

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

Hola Frank,

me parece excelente tu aporte. Durante el desarrollo de la actividad tuve un problema con el tema de sobreescritura de clases, pero fue porque el metodo GET tanto en la clase padre como hijo no tenian un nombre identifico(Java es sensible a Mayusculas y Minusculas). El error que me aparecia fue este: java: method does not override or implement a method from a supertype.

Quiero compartir entonces la solución que me brindo Luri:

El error que estás viendo es porque la clase Serie está heredando de la clase Título, pero el método getDuracionEnMinutos en la clase Título tiene una "d" minúscula en "Duración", mientras que en la clase Serie tiene una "D" mayúscula. Para que la clase Serie sobrescriba correctamente el método de la clase Título, ambos métodos deben tener el mismo nombre y la misma firma.

Luego de esto, solucione el problema.