Registrierung Kalender Mitgliederliste Teammitglieder Suche Häufig gestellte Fragen Zur Startseite

Informatiker Board » Suche » Suchergebnis » Hallo Gast [Anmelden|Registrieren]
Zeige Beiträge 1 bis 1 von 1 Treffern
Autor Beitrag
Thema: Problem bei der Ausführungsreihenfolge
bamboozle

Antworten: 2
Hits: 5.955
Problem bei der Ausführungsreihenfolge 03.03.2010 15:41 Forum: Praktische Informatik


Hallo, ich habe gerade ein Denkproblem. Die Aufgabe ist folgende:

Geben Sie die Zeichenfolge an, die durch die Methode test erzeugt wird.
public class Oben {
public void gg (Oben o) { System.out.print("A "); }
public void gg (Mitte m) { System.out.print("B "); }
}
public class Mitte extends Oben {
public void gg (Oben o) { System.out.print("L "); }
public void gg (Unten u) { System.out.print("M "); }
}
public class Unten extends Mitte {
public void gg (Oben o) { System.out.print("X "); }
public void gg (Mitte m) { System.out.print("Z "); }
}
public class Prog {
public static void test() {
Oben oo = new Oben();
Oben ff = new Mitte();
Unten uu = new Unten();
oo.gg(ff);
oo.gg(uu);
ff.gg(ff);
ff.gg(uu);
uu.gg(ff);
uu.gg(uu);
}
}


Ich habe nun folgendes Problem. gg ist ja jeweils meine Methode in den einzelnen Klassen, immer abhängig von irgendeinem Eingabewert. Ich kann mir ja noch vorstellen: wenn ich gg(ff) habe, dann sucht der sich die passende Methode mit dem Parameter vom Typ Mitte und führt sie aus. Allerdings kriege ich gerade einen Hirnknoten wenn ich mir vorstelle, dass er diese Methode für ein Unter ausführt, also so: uu.gg(ff) ich verstehe dabei das "uu." nicht. Sagt mir das: "nehme Methode aus Klasse unter mit Parameter des Typs Mitte?"

Wenn das so richtig ist, dann frage ich mich wiederum für den Fall "uu.gg(uu)" was da passiert. Denn in der Klasse Unten gibt es keine Methode mit Parameter vom Typ Unten. Wird dann automatisch die Superklasse zu Rate gezogen, ob dort eine Methode mit diesem Paramter steht? oder passiert gar nichts? Und ebenso: was passiert bei oogg(uu) nimmt der dann die Subklasse?

Ich finde leider nirgendwo in meinem Buch oder in der Vorlesung die Erklärung dafür, ich wäre euch sehr dankbar wenn ihr mir das erklären könntet.

Liebe Grüße
Zeige Beiträge 1 bis 1 von 1 Treffern