Método abstracto

Un método abstracto es un método declarado pero no implementado, es decir, es un método del que solo se escribe su nombre, parámetros y tipo devuelto pero no su código.

Los métodos abstractos se escriben sin llaves {} y con ; al final de la declaración.
Por ejemplo:
public abstract double area();
Un método se declara como abstracto porque en ese momento (en esa clase) no se conoce cómo va a ser su implementación.
Por ejemplo: A partir de una clase Polígono se pueden derivar las clases Rectángulo y Triángulo. Ambas clases derivadas usarán un método área. Podemos declararlo en la clase Polígono como método abstracto y dejar que cada clase lo implemente según sus necesidades.
Al incluir el método abstracto en la clase base se obliga a que todas las clases derivadas lo sobrescriban con el mismo formato utilizado en la declaración. Si la clase derivada no implementa el método abstracto que ha heredado, deberá ser declarada como abstracta.
Si una clase contiene un método abstracto se convierte en clase abstracta y debe ser declarada como tal.

La forma general de declarar un método abstracto en Java es:
[modificador] abstract tipoDevuelto nombreMetodo([parámetros]);

18 comentarios:

  1. Respuestas
    1. cuando un método es abstracto, obligatoria mente la clase también

      Eliminar
  2. Muchas gracias, buena explicacion ^^

    ResponderEliminar
  3. muchas gracias, muy útil, claro, directo... perfecto

    ResponderEliminar
  4. esta incompleto, =( necesito ejemplo y la aclaracion y utilida para cuando se usa y el porque Y_Y

    ResponderEliminar
  5. Buenas, Enrique!
    En el ejemplo que pones, ¿no falta el tipo de valor devuelto? Probando en una app de Android me marca error porque falta el tipo de valor.
    Muchas gracias.

    ResponderEliminar
    Respuestas
    1. Cierto, faltaba el tipo devuelto por el método. Ya está corregido. Muchas gracias por avisar Iban!!

      Eliminar
    2. Hola Iban ¿Qué compilador para java usas en Android o cual es el que recomiendas?

      Eliminar
  6. que parte de mi pregunta para que sirve un método abstracto no entendiste ? google

    ResponderEliminar
  7. Es la explicación más corta y concisa que he encontrado. Muchas gracias.

    ResponderEliminar
  8. hola como hago para mostrar los datos de una clase donde sus métodos fueron abstractos de otra clase dentro de un swict?

    ResponderEliminar