Underc0de

Foros Generales => Dudas y pedidos generales => Mensaje iniciado por: luigimaldini en Octubre 03, 2019, 01:07:43 PM

Título: [SOLUCIONADO] Confusion con clase Abstracta
Publicado por: luigimaldini en Octubre 03, 2019, 01:07:43 PM
Hola, pues siguiendo con el estudio de las clases tengo unas dudas, por ejemplo viendo la clase abstracta Calendar en la que estaba ultimamente veo en la api un metodo abstracto de dicha clase:

public abstract void add(int field, int amount)

Ese metodo de dicha clase parece implementado, no somos nosotros los que le deberiamos de dar la implementacion? es decir ese metodo deberia de estar vacio en su cuerpo.
Título: Re:Confusion con clase Abstracta
Publicado por: DeBobiPro en Octubre 03, 2019, 03:38:51 PM
Hola amigo,


En las clases abstractas igual debes definir tus métodos, pero de manera abstracta, te dejo un ejemplo

Código (java) [Seleccionar]
abstract class Foro{
   public abstract void PublicarPost();
}

class UnderForo extends Foro{
  public void PublicarPost() {
    System.out.println("Bla bla bla...");
  }
}



Fíjate que en la clase abstracta el método no lleva corchetes de llave ( { } ) y se terminan con punto y coma ( ; ), pero una vez 'extiendes' una clase de tu clase abstracta, en ese momento le das el contenido o la lógica a la función con sus corchetes de llave como de costumbre.


Observación: Debes mantener la integridad si agregas parámetros de entrada, si los defines en la clase abstracta debes utilizar los mismo en el mismo orden una vez la extiendas.

Espero te sirva la explicación :)

Un saludo!
Título: Re:Confusion con clase Abstracta
Publicado por: luigimaldini en Octubre 03, 2019, 03:50:02 PM
Ok, si ya me di cuenta repasando la API, en este caso lo ejecutamos a traves de la clase hija, muchas gracias por tu respuesta me ayudó bastante. Tema Solucionado.

Saludos