Foros del Web » Programación para mayores de 30 ;) » Java »

clase abstract

Estas en el tema de clase abstract en el foro de Java en Foros del Web. hola a todos los foristas! saludos para ustedes soy un poco novato en java y siempre he tenido una duda. Cuando reviso el API de ...
  #1 (permalink)  
Antiguo 14/06/2012, 15:42
 
Fecha de Ingreso: septiembre-2010
Ubicación: Caracas
Mensajes: 83
Antigüedad: 14 años, 2 meses
Puntos: 6
clase abstract

hola a todos los foristas! saludos para ustedes

soy un poco novato en java y siempre he tenido una duda. Cuando reviso el API de java, veo clases que tienen metodos que me interesarian usar, pero estas son clases o annotations o abstractas y no entiendo ese concepto. Como utilizo los metodos de las clases abstractas? no pueden ser utilizadas como si fueran metodos estaticos, es decir EsaClase.ElMetodo() y ya?

gracias de antemano!
  #2 (permalink)  
Antiguo 14/06/2012, 16:00
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 16 años, 4 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.

Etiquetas: abstract, clase
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:35.