Hi Leute!
Ich möchte folgendes realisieren:
Es existiert eine abstrakte Basisklasse "Flaeche". Von dieser Klasse wurden abgeleitet "Rechteck", "Dreieck" und sagen wir mal eine von "Rechteck" abgeleitete Klasse "Quadrat".
Nehmen wir nun an diese Klassen haben alle eine Funktion "berechneFlaeche".
Wenn ich nun von diesen Klassen 3 Instanzen erstelle, kann ich die "berechneFläche"-Funktion aufrufen. Zum Beispiel durch:
Wichtiger Hinweis: Bitte ignoriert beim folgenden Beispiel Rückgabe-/und Übergabewerte, es geht nur ums Prinzip und ich möchte es kurz halten.
jetzt möchte ich aber nicht ausgeben über:
....
...
Sondern:
Unter C++ funktioniert das über virtuelle Funktionen. Dabei erstellt man ein Pointer Array der Basisklasse und speichert dann die Adressen der Instanzen darin.
Gibt es so etwas (das automatische Erkennen der zutreffenden Funktion) auch unter Java?
Liebe Grüße,
vega_ffm
Ich möchte folgendes realisieren:
Es existiert eine abstrakte Basisklasse "Flaeche". Von dieser Klasse wurden abgeleitet "Rechteck", "Dreieck" und sagen wir mal eine von "Rechteck" abgeleitete Klasse "Quadrat".
Nehmen wir nun an diese Klassen haben alle eine Funktion "berechneFlaeche".
Wenn ich nun von diesen Klassen 3 Instanzen erstelle, kann ich die "berechneFläche"-Funktion aufrufen. Zum Beispiel durch:
Wichtiger Hinweis: Bitte ignoriert beim folgenden Beispiel Rückgabe-/und Übergabewerte, es geht nur ums Prinzip und ich möchte es kurz halten.
Code:
Rechteck myRechteck = new Reckteck();
Quadrat myQuadrat = new Quadrat();
Dreieck myDreieck = new Dreieck();
Code:
myRechteck.berechneFlaeche(); //gibt die Fläche "über System.out.println" aus
...
Sondern:
Code:
Flaeche[] myArray = new Flaeche[10];
Flaeche[0]=myRechteck;
Flaeche[1]=myQuadrat;
Flaeche[2]=myDreieck;
for(i=0;i<3;i++) Flaeche[i].berechneFlaeche();
Unter C++ funktioniert das über virtuelle Funktionen. Dabei erstellt man ein Pointer Array der Basisklasse und speichert dann die Adressen der Instanzen darin.
Gibt es so etwas (das automatische Erkennen der zutreffenden Funktion) auch unter Java?
Liebe Grüße,
vega_ffm