Hallo aller Seits,
Ich löse gerade deiner Aufgabe aber und mein Programm gibt mir Ausgaben die ich nicht verstehe ;( villeicht kann mir jemanden bei der verstandniss helfen: ich habe 3 klassen: myRunner, HighJumper und Athlete .
Die ersten beiden sind Unterklassen von der Klasse Athle
bei der Ausführung von folgende Commendozeilen:
bekomme ich folgende Audgaben:
Ich habe getippt dass alle ausgaben dynamisches binden sind, stimmt das? und wenn ja warum bekomme ich nicht die gleiche Ausgabe bei 15 und 16 als auch bei 12 und 13???:L
Ich bin sehr dankbar wenn ihr mir helfen könnt
hier noch einmal die Klassen:
Danke im vorraus
Ich löse gerade deiner Aufgabe aber und mein Programm gibt mir Ausgaben die ich nicht verstehe ;( villeicht kann mir jemanden bei der verstandniss helfen: ich habe 3 klassen: myRunner, HighJumper und Athlete .
Die ersten beiden sind Unterklassen von der Klasse Athle
bei der Ausführung von folgende Commendozeilen:
Java:
myAthlete = myRunner; // ueberlagerter Methoden: Welcher Methode wird verwendet:
// die der Klasse des Objekts, nicht die der Klasse der Referenzvariablen
System.out.println("11. myAthlete.activity : " + myAthlete.activity); // 11 dynamiches Binden
System.out.println("12. myAthlete.training() : " + myAthlete.training()); // 12 dynamisches Binden
System.out.println("13. myAthlete.training2() : " + myAthlete.training2()); // 13 dynamisches Binden
myAthlete = myHighJumper;
System.out.println("14. myAthlete.activity : " + myAthlete.activity); // 14 dynamiches Binden
System.out.println("15. myAthlete.training() : " + myAthlete.training()); // 15 dynamiches Binden
System.out.println("16. myAthlete.training2() : " + myAthlete.training2()); // 16 dynamiches Binden
bekomme ich folgende Audgaben:
Java:
11. myAthlete.activity : I'm on exercise!
12. myAthlete.training() : I'm on exercise!
13. myAthlete.training2() : I'm on exercise!
14. myAthlete.activity : I'm on exercise!
15. myAthlete.training() : I'm jumping high!
16. myAthlete.training2() : I'm jumping high!
Ich habe getippt dass alle ausgaben dynamisches binden sind, stimmt das? und wenn ja warum bekomme ich nicht die gleiche Ausgabe bei 15 und 16 als auch bei 12 und 13???:L
Ich bin sehr dankbar wenn ihr mir helfen könnt
hier noch einmal die Klassen:
Java:
public class Athlete {
/** Attribute describing the activity of the athlete. */
public String activity = "I'm on exercise!";
/**
* Returns the activity of the athlete.
*/
public String training() {
return activity;
}
/**
* Also returns the activity of the athlete (by calling method training()).
*/
public String training2() {
return training();
}
}
Java:
public class Runner extends Athlete {
/** Attribute describing the activity of the runner. */
public String activity = "I'm running!";
/**
* Returns the activity of the runner by calling the method training2()
* of the super class.
*/
public String training2() {
return super.training2();
}
}
Java:
public class HighJumper extends Athlete {
/** Attribute describing the activity of the high jumper. */
public String activity = "I'm jumping high!";
/**
* Returns the activity of the high jumper.
*/
public String training() {
return activity;
}
/**
* Returns the activity of the high jumper by calling the method training2()
* of the super class.
*/
public String training2() {
return super.training2();
}
}
Danke im vorraus