Hola te saluda Ubaldo Acosta bienvenidos nuevamente.
Espero que estén listos para comenzar con esta elección.
A continuación vamos a estudiar el tema de clases abstractas en Java están listos.
Vamos
clases abstractas en Java en esta elección vamos a estudiar el tema de clases abstractas en el ejemplo
mostrado el método dibujar de la clase padre figura geométrica no tiene sentido que se dibuje debido
a que se tiene que especificar qué tipo de figura geométrica es la que se va a dibujar y esto lo sabremos
en alguna de las subclases como puede ser rectángulo cuadrado etc..
La subclase rectángulo es la clase responsable de implementar la funcionalidad del método dibujar heredado
de la clase padre y entonces ya tiene sentido agregar un comportamiento al método dibujar una clase
contiene un método abstracto.
La clase se debe declarar también como clase abstracta esto es una regla del compilador de Java una
clase abstracta puede contener métodos abstractos pero también métodos no abstractos.
Además un método abstracto no tiene cuerpo y sólo termina con punto y coma.
De esta manera un método abstracto sólo define la firma del método pero no agrega ningún comportamiento
y son las clases hijas las que se encargan de implementar este método es decir agregar algún comportamiento
de alguna manera es como la escritura.
Sin embargo debido a que en el método padre no se ha definido ningún comportamiento en el método abstracto
entonces no se dice que la clase fija sobre escribe.
El método heredado sino que lo implementa
restricciones de las clases abstractas
una clase abstracta no se puede instancias.
Esto es debido a que algo abstracto no puede materializarse en un objeto y este mismo concepto aplica
para las clases abstractas en Java lo que sí podemos hacer es crear variables de tipo de la clase abstracta
que almacenen referencias a sus clases y así llamar a los métodos en común entre la clase padre y la
subclase.
Por ejemplo el método de dibujar esto es muy similar al concepto de polimorfismo que hemos estudiado
anteriormente si asignamos una referencia de un objeto rectángulo es decir una subclase a una variable
de tipo figura geométrica es decir la clase abstracta padre entonces aplica en el mismo diagrama de
dona que estudiamos en la elección de polimorfismo y por lo tanto el método que se ejecutará será el
método implementado por la subclase es decir el método de dibujar definido por la clase rectángulo así
que las mismas reglas del polimorfismo aplican en el caso de las clases abstractas y por lo tanto podemos
seguir aprovechando los tipos más genéricos como es un tipo de clase abstracta y asignar referencias
de objetos de clases hijas y así crear métodos más genéricos que utilicen y apliquen el concepto de
polimorfismo.
A continuación vamos a crear un ejercicio para poner en práctica el concepto de clases abstractas en
Java.