Clase abstracta

2282 vistas

¿Qué es una clase abstracta?
na clase abstracta es una clase "incompleta". Ésta reagrupa un conjunto de variables y métodos, alguno de los cuales, no tiene ninguna implementación, sino que tendrán que ser implementados en las clases hijas que hereden de ésta.

¿Para qué sirve?
En general para definir las grandes líneas del comportamiento de una clase de objetos sin forzar la implementación de los detalles del algoritmo.

¿Cómo funciona?
Hay que tener presente que, una clase abstracta está incompleta, por lo que no puede ser instanciada y debe ser heredada. Ciertas clases abstractas disponen de métodos abstractos que las clases hijas tendrán que implementar.

Veamos un ejemplo de declaración:



java
  1. /** clase abstracta empleado */
  2. public abstract class Employe {
  3.         // bla bla bla
  4.         /** definición de un método astracto. Notar que no tiene ninguna instrucción */
  5.       public abstract void despedir();
  6. }
  7.  
  8. // Class Obrero
  9. public class Obrero extends Employe {
  10.         // definición del código de despedir
  11.         public void despedir() {
  12.                 System.out.println("Despedido, fuera de aquà !");
  13.         }
  14. }
  15.  
  16. // Class Jefe
  17. public class Jefe extends Employe {
  18.         // definición del código de despedir
  19.         public void despedir() {
  20.                 System.out.println("Tiene que entender que en la coyuntura actual....");
  21.         }
  22. }