Hai perfettamente ragione non fila per nulla quello che ho fatto...
Gli ho dato una sistemata ora, puoi verificare che tutto vada per il verso giusto?
codice:
public abstract class Figura
{
private String colore;
public Figura(String colore)
{
this.colore=colore;
}
public String getColore()
{
return colore;
}
}
codice:
public abstract class Figura2d extends Figura
{
private String colore;
public Figura2d(String colore)
{
super(colore);
}
public abstract double getPerimetro();
public abstract double getArea();
}
codice:
public class Cerchio extends Figura2d
{
private double raggio;
public Cerchio(String colore, double raggio)
{
super(colore);
this.raggio=raggio;
}
public double getRaggio()
{
return raggio;
}
public double getArea()
{
return (raggio*raggio)*3.14;
}
public double getPerimetro()
{
return raggio*2*3.14;
}
}
codice:
public class Test
{
public static void main(String []args)
{
Cerchio c1=new Cerchio("rosso",3.0);
System.out.println("Colore: "+c1.getColore());
double area=c1.getArea();
System.out.println("Area: "+area);
}
}
L'output di Test é:
Colore: Rosso
Area: 28.16
Ho creato delle sottoclassi astratte a Figura, chiamate figura2d e figura3d avendo metodi e parametri completamente diversi.
L'unico metodo in comune risulta getColore() che ho lasciato sotto Figura.
Grazie mille.
Roberto Remondini