Salve ho trovato e fatto un esercizio sull'ereditarietà, ma una volta vista la soluzione mi è sorto un dubbio, vi posto qui sotto il file. Mi chiedevo perchè si omette la dichiarazione "public" nel costruttore di Rettangolo e Triangolo e negli altri metodi delle due classi? Premetto sono appredista
codice:
public class Figura {
private double base;
private double altezza;
public Figura(double base,double altezza){
this.base=base;
this.altezza=altezza;
}
public double area(){
System.out.println("L'area per un oggetto di tipo figura non è definita");
return 0;
}
}
//classe RETTANGOLO
class Rettangolo extends Figura{
double base;
double altezza;
Rettangolo(double base,double altezza){
super(base,altezza);
this.altezza=altezza;
this.base=base;
}
public double area(){
return this.base*this.altezza;
}
}
//Classe TRIANGOLO
class Triangolo extends Figura{
double base;
double altezza;
Triangolo(double base,double altezza){
super(base,altezza);
this.base=base;
this.altezza=altezza;
}
public double area(){
return (this.base*this.altezza)/2;
}
}
class CalcolaArea{
public static void main(String [] args){
Figura fig=new Figura(3,4);
Figura ret= new Rettangolo(5,6);
Figura tri=new Triangolo(3,5);
fig.area();
System.out.println(ret.area());
System.out.println(tri.area());
}
}