Hallo allerseits
Ein einfaches Problem mit verdeckten Membern:
Ich habe ein Klasse Modell, in der mit der Methode
getFlaeche()
die Fläche eines Rechtecks berechnet wird.
Dann gibt es noch eine Klasse Gmodell ("genaueres" Modell), die Unterklasse von Modell ist. Mit dem gleichen Bezeichner (siehe oben)
getFlaeche()
wird die Oberfläche eines Quaders berechnet.
Wenn man in main eine Variable g mit dem Datentyp GModell anlegt, wird durch
g.getFlaeche();
die Oberfläche des Quaders berechnet.
In C++ kann man mit der Anweisung:
g.Modell::getFlaeche();
in der Variable g auf die Oberklasse Modell zugreifen und sich dort die Fläche des Rechtecks berechnen lassen.
Frage:
Wie macht man das in Java am besten (schnellsten) ?
Hier ist der Programmcode
---------------------------------------------------------------------------
---------------------------------------------------------------------------
mfg
carlox
[/code][/quote]
Ein einfaches Problem mit verdeckten Membern:
Ich habe ein Klasse Modell, in der mit der Methode
getFlaeche()
die Fläche eines Rechtecks berechnet wird.
Dann gibt es noch eine Klasse Gmodell ("genaueres" Modell), die Unterklasse von Modell ist. Mit dem gleichen Bezeichner (siehe oben)
getFlaeche()
wird die Oberfläche eines Quaders berechnet.
Wenn man in main eine Variable g mit dem Datentyp GModell anlegt, wird durch
g.getFlaeche();
die Oberfläche des Quaders berechnet.
In C++ kann man mit der Anweisung:
g.Modell::getFlaeche();
in der Variable g auf die Oberklasse Modell zugreifen und sich dort die Fläche des Rechtecks berechnen lassen.
Frage:
Wie macht man das in Java am besten (schnellsten) ?
Hier ist der Programmcode
---------------------------------------------------------------------------
Code:
public class MainVererbung3 {
public static void main(String[] args){
Modell m = new Modell(10,20);
Gmodell g = new Gmodell(2,3,4);
double f,x;
f = g.getFlaeche();
System.out.println("f="+f);
// x = g.Modell::getFlaeche();
//System.out.println("x="+x);
}
}
class Modell{
private double l;
private double b;
public Modell(double pl, double pb){
l = pl;
b = pb;
}
public double getL(){
return(l);
}
public double getB(){
return(b);
}
public double getFlaeche(){
return(l*b);
}
};
class Gmodell extends Modell{
private double h;
public Gmodell(double pl, double pb, double ph){
super(pl,pb);
h=ph;
}
public double getFlaeche(){
return(2*(h*getB()+h*getL()+getL()*getB()));
}
}
mfg
carlox
[/code][/quote]