¿Qué ventajas tiene retrasar la definición de métodos en las clases abstractas de java?

Necesito pronto que me respondáis a esta cuestión:
Como todos sabéis en Java existe la posibilidad de retrasar la definición de métodos en las clases abstractas por medio de la palabra reservada abstract. Por favor: EXPLICADME cual pueden ser las ventajas de incluir este mecanismo, en vez de optar por una de las 2 soluciones siguientes:
1) No implementar aquellos métodos que deban ser postergados.
2) Implementarlos con el cuerpo vacío
Por favor: responded pronto. Gracias

1 respuesta

Respuesta
Pues la ventaja es que podemos obligar al desarrollador a tener que implementar dichos métodos.
Es decir, imaginate que yo te doy una clase y te digo que tiene dos métodos abstractos, y tu deseas usar mi clase.
Si necesitas usarla, has de tener que implementar esos dos métodos, aunque sean vacíos (y eso es responsabilidad tuya) para poder usarla.
Si te hubiera dado la misma clase con los dos métodos con cuerpo vacío, tu no tendrías que pensar para nada en redefinirlos, pero eso es precisamente lo que yo quiero.
Esto se utiliza sobre todo para por ejemplo dar métodos plantilla, es decir, yo puedo implementar una clase que sea de la forma
Clase Miclase
{
private metodo1()
{
Usa el metodo2
Y luego hace otros comportamientos
}
abstract metodo2();
}
Y ahora si quieres usar esta clase, tienes que redefinir el metodo2, y no el metodo1 directamente, ya que es privado. De esta forma, tenemos protección al metodo1, pero también tenemos una forma de extender el comportamiento mediante el metodo2

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas