Polymorphie im Zusammenhang mit Interfaces?

... komplette Frage anzeigen

3 Antworten

Mit einem Interface definierst du einen neuen Typ, von dem du "erben", aber keine Instanz erstellen kannst.

Angenommen, es gibt ein Interface Comparable, das festlegt, ob ein Typ mit anderen Typen vergleicht werden kann, und somit auch beispielsweise in einem Array sortiert werden kann.

Möchtest du eine Methode compareTo(Object) erstellen, bei der die Parametervariable allerdings unbedingt auch Comparable sein muss, so kannst du dies folgendermaßen realisieren:

int compareTo(Comparable c){ ... }

Die Parametervariable muss also das Interface Comparable implementieren, da es sonst nicht mit anderen Typen vergleicht werden kann.

Folgendes ist dabei aber nicht möglich:

Comparable c = new Comparable();

int i = c.compareTo(new Comparable());

Das erzeugt zwei böse Exceptions.

Es muss also immer ein Comparable-implementierender Typ übergeben werden, aber kein Comparable selbst (eine Unterklasse also).

Ich hoffe, das war verständlich und ich konnte dir helfen; wenn du noch Fragen hast, kommentiere einfach. 

LG Willibergi 

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von Pokecrafter567
22.06.2016, 14:29

ich checke das nicht :c Kannst das nochmal für dumme erklären?

0

Interfaces sind Parentklassen ohne Implemtierung. Im Sinne der Polymorphie unterscheiden diese sich nicht von "normalen" Klassen. ...verschiedene Ausprägungen eines Typen...

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von DataJockey
24.06.2016, 15:03

oder willst du auf Mehrfachableitungen hinaus?

0

Interfaces sind Versprechen über Eigenschaften deiner Klasse.

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von Pokecrafter567
22.06.2016, 15:05

Beispiel? und genauer pls

0

Was möchtest Du wissen?