Ich habe ein Problem mit einem Konstruktor von einer Unterklasse einer Unterklasse:
Die "Hauptklasse" heisst schiff, in ihr werden die variabeln posX, posY und speedX und speedY initialisiert, in ihr selbst befinden sich nur einige methoden zum festlegen von speedXY ect.. Eine Unterklasse davon ist Motorschiff. In ihr wird zusätzlich die variable Treibstoffvorrat initialisiert. Diese Klasse hat nun einen Konsturktor, Motorschiff(double posX, double posY, double Treibstoffvorrat=0) {...}.
Das Problem taucht nun bei der Unterklasse Tanker von Motorschiff auf: in der Klasse Tanker wird nun noch ein String ladung initialisiert. nun sollte der konstruktor von Tanker folgendermassen aussehen: Tanker(double x, double y, String ladung) {was kommt hier?}. Meine frage ist nun wie kann ich es machen, dass der Tanker diese atribute im konstruktor "konstuiert" und den treibstoffvorrat=0 von Motorschiff erbt?
Hier ausschnitte aus meinem code:
Zudem wäre ich froh, wenn mir jemand sagen könnte wie ich die ladung abrufen eines Tankers abrufen kann, wenn ich vorher definiert habe Schiff t1=new Tanker(1,2,"Brot"). Der Versuch t1.ladung liefert eine Fehlermeldung und kein Brot :-(.
Die "Hauptklasse" heisst schiff, in ihr werden die variabeln posX, posY und speedX und speedY initialisiert, in ihr selbst befinden sich nur einige methoden zum festlegen von speedXY ect.. Eine Unterklasse davon ist Motorschiff. In ihr wird zusätzlich die variable Treibstoffvorrat initialisiert. Diese Klasse hat nun einen Konsturktor, Motorschiff(double posX, double posY, double Treibstoffvorrat=0) {...}.
Das Problem taucht nun bei der Unterklasse Tanker von Motorschiff auf: in der Klasse Tanker wird nun noch ein String ladung initialisiert. nun sollte der konstruktor von Tanker folgendermassen aussehen: Tanker(double x, double y, String ladung) {was kommt hier?}. Meine frage ist nun wie kann ich es machen, dass der Tanker diese atribute im konstruktor "konstuiert" und den treibstoffvorrat=0 von Motorschiff erbt?
Hier ausschnitte aus meinem code:
Code:
class Schiff {
double positionX;
double positionY;
double speedX;
double speedY;
........
public void update() {
positionX=positionX+speedX;
positionY=positionY+speedY;
}
}
Code:
class Motorschiff extends Schiff {
double treibstoffvorrrat;
Motorschiff(double x, double y, double l) {
this.treibstoffvorrrat=l;
super.setPosition(x,y);
super.setSpeed(0,0);
}
public void tanke(double l) {
treibstoffvorrrat=treibstoffvorrrat+l;
}
public void update(){
if (treibstoffvorrrat>0){
super.update();
treibstoffvorrrat--;} else System.out.println("Kein Treibstoff mehr");
}
public double getTR() {
return treibstoffvorrrat;
}
}
Code:
class Tanker extends Motorschiff {
String ladung;
Tanker(double x, double y, String ladung) {
// Was kommt hier???
}
}
Zudem wäre ich froh, wenn mir jemand sagen könnte wie ich die ladung abrufen eines Tankers abrufen kann, wenn ich vorher definiert habe Schiff t1=new Tanker(1,2,"Brot"). Der Versuch t1.ladung liefert eine Fehlermeldung und kein Brot :-(.