Grunds

30/12/2015 - 13:12 von Ralf S. Hellersen | Report spam
Hallo zusammen,

nach der Suche von mehreren Erklàrungen habe ich als Wiedereinsteiger in
Java immer noch eine Verstàndnisfrage zu Interfaces:
Welchen Vorteil bieten diese ?

Soweit ich verstanden habe:
Sie erhalten eine (abstrakte) Methode ohne dazugehörigen Kode, den ich
in der main-Klasse selber schreiben muss. Das bezeichne ich nicht als
Arbeitserleichterung. Ich verwende auch nicht wieder, was ein Vorteil
der objektorientierten Programmierung ist.

Hat jemand eine Antwort für mich ?

Gruß
Ralf
 

Lesen sie die antworten

#1 ram
30/12/2015 - 13:49 | Warnen spam
"Ralf S. Hellersen" writes:
Verstàndnisfrage zu Interfaces:
Welchen Vorteil bieten diese ?



In Java erlauben Schnittstellen die statisch-typsichere
Verwendung von Polymorphie und von Patterns wie »Strategy«.

Eine Schnittstelle erlaubt es auch, einen abstrakten
Datentyp unabhàngig von einer Implementation zu
dokumentieren und diese Dokumentation zu vererben.
Umgekehrt kann man Klassen leichter erlernen, wenn man
darin wiederkehrende Schnittstellen erkennen kann.

Schnittstellen als Parametertypen erlauben die Formulierung
abstrakter »Algorithmen auf Schnittstellen«, die dann erst durch
einen Aufruf an konkrete Typen gebunden werden können.
Etwas ganz Ähnliches gilt auch für Schnittstellen als Typen
lokaler Variablen, welche die Umstellung der verwendeten
konkreten Klassen erleichtern. (Aber dies sind nur Spezialfàlle
der schon eingangs erwàhnten Polymorphie.)

Man könnte dafür zwar auch manchmal Oberklassen verwenden,
aber Schnittstellen erlauben in Java auch mehrfache Beererbung,
welche in diesem Zusammenhang auch oft benötigt und verwendet wird.

Ähnliche fragen