Mehrfachvererbung

Status
Nicht offen für weitere Antworten.

chilishote

Neues Mitglied
...Schnittstellen("Interfaces") zu erreichen, oder?

Und das ist wie ich gehört und gelesen habe, eigentlich gar kein offizieller Lösungsweg um die nicht vorhandene Merhfachvererbung in JAVA zu realisieren.

Stimmt das?

Wenn ja, könntet ihr mir da mal ein Beispielprogramm zeigen wo dies gemacht wird?

Danke schon mal im Voraus.
 

L-ectron-X

Gesperrter Benutzer
In Java gibt es keine Mehrfachvererbung, weil dies sehr Fehler trächtig ist.
(Auch) als Ersatz gibts es dafür die Interfaces.
Interfaces können leer sein oder implementieren nur abstrakte Methoden, die dann in den Klassen, die ein Interface implementieren überschrieben werden müssen.
Ein Beispiel für eine Implementierung eines Interfaces:
Code:
public class MyClass implements MyInterface {
...
}
Wenn das Interface MyInterface abstrakte Methoden implementiert, was etwas so aussehen kann
Code:
...
  public void MyMethode(int value);
...
...muss diese Methode in der Klasse, die dieses Interface implementiert ausprogrammiert werden, oder zumindest mit einem Methodenrumpf versehen werden.
 

Isaac

Bekanntes Mitglied
Das habe ich noch nie ausprobiert. Was passiert denn wenn ich 2 Interfaces implementiere und in beiden ist eine Methode deklariert die bis auf den Rückgabetyp gleich ist?
 
R

Roar

Gast
tja... du musst die methode natürlich zweimal implementieren, da das 2 verschiedene methoden sind wenn sie unterschiedliches zurückliefern. und die Java VM holt sich dann automatisch die richtige methode ( nehme ich an ???:L )

dass in beiden interfaces eine methode mit gleicher sigantur enthalten ist ist seehr unwahrscheinlich. und wenn doch dann werden sie höchstwahrscheinlich beide für den gleichen zweck da sein, da interfaces ja zur typendeklaration dienen. und wenn eine klasse gleichzeitig vom type Blubbable und Brabbable ist, dann werden die methoden wohl den gleichen sinn haben.
 

L-ectron-X

Gesperrter Benutzer
Dann können die beiden Methoden nicht zur gleichen Zeit implementiert werden. Es würde ein Compiler-Fehler resultieren. Der Rückgabewert muss bei zu überschreibenden Methoden gleich sein, weil der Compiler die Methoden anhand ihres Rückgabewertes unterscheidet.
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen

Neue Themen


Oben