Estas clases se caracterizan
por tener algunos de sus
métodos declarados como
abstractos”.
Un método abstracto es aquel que está definido, pero no tiene cuerpo,
es decir, le declaramos el nombre, los parámetros y el tipo de
devolución, pero no le declaramos lo que va entre llaves "{}", es más, no
le ponemos llaves.
Public abstract class nombreClase{
public abstract tipo nombre(argumentos
(si los lleva)); }
las clases abstractas presentan un
nivel de "abstracción" tan elevado
que no sirven para instanciar
objetos de ellas.
Estas clases se utilizan para permitir que otras
clases hereden de ella y proporcionar un modelo
a seguir.
Reglas básicas de este tipo
de clases:
1.Una clase abstracta no puede crear
objetos, es decir, no podemos utilizar "new"
para una clase abstracta, ya que tiene
métodos que no están definidos.
2.Una clase abstracta no
puede ser a la vez "final".
3.Si una clase hereda de una clase abstracta,
deberá de sobrescribir todos los métodos
abstractos, si no es así, la clase que hereda
deberá ser pasada a abstracta.
4.Una clase abstracta puede llevar métodos
NO abstractos, pero solo con que exista un
método abstracto, la clase deberá ser
pasada a abstracta.
5.Como los métodos estáticos no pueden
ser redefinidos, un método abstracto no
puede ser estático.
6. Una clase abstracta si puede
tener constructores.