G
Guest
Gast
abstract class Fahrzeug {
double position;
double geschwindigkeit;
void bewege(double minuten)
{ position += geschwindigkeit * minuten/60; }
void setzeGeschwindigkeit(double g)
{ if(g>maxGeschwindigkeit())
g=maxGeschwindigkeit();
g=geschwindigkeit; }
abstract double maxGeschwindigkeit();
abstract int raederanzahl();
}
class Auto extends Fahrzeug {
int raederanzahl()
{ return 4;}
double maxGeschwindigkeit()
{ return 140;}
}
class Fahrrad extends Fahrzeug {
int raederanzahl()
{ return 2;}
double maxGeschwindigkeit()
{ return 30;}
}
class Rennwagen extends Auto {
double maxGeschwindigkeit()
{ return 220;}
}
class Krankenwagen extends Auto {
boolean blaulichtAn;
void blaulichtAnschalten() {
blaulichtAn = true;}
void blaulichtAusschalten() {
blaulichtAn = false;}
}
class Wettrennen {
public static void main(String[] args) {
Fahrzeug rad = new Fahrrad();
Fahrzeug auto = new Auto();
Fahrzeug rennwagen = new Rennwagen();
Fahrzeug krankenwagen = new Krankenwagen();
rad.setzeGeschwindigkeit(20);
auto.setzeGeschwindigkeit(150);
rennwagen.setzeGeschwindigkeit(200);
krankenwagen.setzeGeschwindigkeit(80);
rad.bewege(240);
rad.bewege(60);
auto.bewege(60);
rennwagen.bewege(60);
krankenwagen.bewege(60);
System.out.println("Rad ist bei Position " + rad.position );
System.out.println("Auto ist bei Position " + auto.position );
System.out.println("Rennwagen ist bei Position " + rennwagen.position );
System.out.println("Krankenwagen ist bei Position " + krankenwagen.position );
}
}
Frage:
Warum bekomme ich als Ausgabe
Rad ist bei Position 0.0
Auto ist bei Position 0.0
Rennwagen ist bei Position 0.0
Krankenwagen ist bei Position 0.0
und nicht
Rad ist bei Position 100.0
Auto ist bei Position 140.0
Rennwagen ist bei Position 200.0
Krankenwagen ist bei Position 80.0
???
Vielen Dank für eure Hilfe im Vorraus!