Ver Mensaje Individual
  #2 (permalink)  
Antiguo 14/06/2012, 16:00
Avatar de Ronruby
Ronruby
 
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 16 años, 5 meses
Puntos: 416
Respuesta: clase abstract

Un método abstracto no es mas que un método el cual DEBES sobreescribir en una clase hija. Si defines un método como abstracto, debes poner la clase como abstracta tambien. Una clase puede ser abstracta y no tener metodos abstractos.

Al una clase ser abstracta, no se puede crear una instancia de esa clase.
Código Javascript:
Ver original
  1. abstract class MiClase {
  2. //blah blah
  3. }
  4. public class OtraClase{
  5.   public static void main(String[] args) {
  6.     new MiClase(); //Error de compilacion
  7.   }
  8. }

Un ejemplo de cuando usar una clase abstracta es si tienes una clase Animal de la cual las clases Perro y Gato heredan. Todo bien. Creas instancias de perros y gatos en tu codigo. Pero, querrás que se cree una instancia de Animal? No, entonces para prevenir esto haces tu clase animal abstracta.
En cambio los métodos abstractos son métodos que obligatoriamente deben ser sobreescritos en la clase hija o marcados igual como abstractos.
Siguiendo con los animales, puedes tener un método en Animal que se llame hacerSonido(). Pero cada animal hace un sonido diferente, por lo que lo sobreescribes. Para asegurarte que el método OBLIGATORIAMENTE sea sobreescrito, lo marcas como abstracto.

Si te enrede mas, déjame saber xD Que suelo hacer eso.