In alcuni casi è utile creare delle classi che non verranno mai istanziate queste classi prendono il nome di classi astratte, esse vengono usate unicamente come superclassi. Lo scopo principale delle classi astratte è quella di fornire una superasse da cui altre possono ereditare in maniera da condividere uno schema comune. Un esempio potrebbe essere una classe astratta poligono, la quale potrebbe essere ereditata da altre classi come ad esempio quadrato, pentagono ecc. In pratica sia quadrato che pentagono sono dei poligoni quindi potrebbero avere dei metodi comuni come ad esempio il calcolo del perimetro ma la loro implementazione sarebbe diversa ed è per questo motivo che vengono usate le classi astratte.
[code lang=”java”]
package quadrato;
public class Quadrato extends Poligono {
int lato;
public void setLato(int l) {
lato = l;
}
public int getLato() {
return lato;
}
public static void main(String[] args) {
Quadrato q = new Quadrato();
q.setLato(4);
int peri = q.perimetro(q.getLato());
System.out.println(peri);
}
@Override
public int perimetro(int l) {
return l * 4;
}
}
[/code]