Buongiorno.
Sto' da poco utilizzando il software BlueJ per realizzare dei piccoli programmi.
Mi piace utilizzare BlueJ perche' si capisco i meccanismi della programmazione ad oggetti.
In questo programmino ho realizzato una classe astratta Esempio che utilizza un metodo astratto calcolaArea();.
poi ho realizzato tre classe Cerchio , Triangolo , Rettangolo che implementano Esempio e all'interno c'e' l'Override e l'implementazione del metodo calcolaArea();.
Questo programmino non funziona e non riesco a capire perche' .
In tutte e tre le classi , Cerchio , Triangolo , Rettangolo l'errore e' sempre lo stesso
@Override
public double calcolaArea(){
return (getBase()*getAltezza())/2;
}
Posto soltanto due delle tre classi , Cerchio e Rettangolo , tanto l'errore e' lo stesso per tutte e tre .
Secondo voi qual'e' il problema
Il codice di ogni classe e' il seguente :
Esempio.java
public abstract class Esempio
{
public abstract void calcolaArea();
}
Cerchio.java
import java.lang.Math;
public class Cerchio extends Esempio
{
private double raggio;
public Cerchio(double raggio)
{
this.raggio=raggio;
}
public double getRaggio(){
return raggio;
}
public void setRaggio(double raggio){
this.raggio=raggio;
}
@Override
public double calcolaArea()
{
return Math.PI*(getRaggio()*2);
}
}
Triangolo.java
public class Triangolo extends Esempio
{
double base;
double altezza;
public Triangolo(double base , double altezza){
this.base=base;
this.altezza=altezza;
}
public double getbase(){
return base;
}
public void setbase(double base){
this.base = base;
}
public double getAltezza(){
return altezza;
}
public void setaltezza(double altezza){
this.altezza = altezza;
}
@Override
public double calcolaArea(){
return (getBase()*getAltezza())/2;
}
}
Allegati: