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]);
:)
ResponderEliminary las clases abstractas?
ResponderEliminarcuando un método es abstracto, obligatoria mente la clase también
EliminarMuchas gracias, buena explicacion ^^
ResponderEliminarmuy buena
ResponderEliminarmuchas gracias, muy útil, claro, directo... perfecto
ResponderEliminarGracias Jorge ;)
ResponderEliminaresta incompleto, =( necesito ejemplo y la aclaracion y utilida para cuando se usa y el porque Y_Y
ResponderEliminarGracias =)
ResponderEliminarEs como el virtual de c++
ResponderEliminarBuenas, Enrique!
ResponderEliminarEn 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.
Cierto, faltaba el tipo devuelto por el método. Ya está corregido. Muchas gracias por avisar Iban!!
EliminarHola Iban ¿Qué compilador para java usas en Android o cual es el que recomiendas?
EliminarGracias a ti!
ResponderEliminarMuchas gracias!
ResponderEliminarque parte de mi pregunta para que sirve un método abstracto no entendiste ? google
ResponderEliminarEs la explicación más corta y concisa que he encontrado. Muchas gracias.
ResponderEliminarhola como hago para mostrar los datos de una clase donde sus métodos fueron abstractos de otra clase dentro de un swict?
ResponderEliminar