Interface oder Abstrakte Klasse?

Status
Nicht offen für weitere Antworten.
G

Guest

Gast
Eine Frage zu den Interfaces in Java, warum kann ich Methoden dort nur als public oder abstract declarieren (oder mach ich da was falsch?)? Ich habe einige Klassen, die jeweils 4 Methoden des gleichen Zwecks, aber anderer Implementation nutzen. Nun wuerde ich gerne ein Interface dazu schreiben, um zu garantieren, dass diese Methoden mindestens implementiert sind. Ich moechte aber nur ungerne die "Visibility" der Methoden auf "public" setzen?

Ich ueberlege nun statt des Interfaces eine abstrakte Klasse zu schreiben, allerdings gefaellt mir das Konzept der Interfaces zum ausimplementieren der erwarteten Methoden sehr gut? Kann mir da jemand weiterhelfen? :?
 
A

Anmeldeboykottierer

Gast
Hi,
ein Interface ist eine reine Schnittstelle. Der Sinn liegt einfach darin, dass du ein wirklich abstraktes Modell schaffen kannst. Dabei legst du nur die Schnittstellen der einzelnen Teilbereiche (Problem kann in Teilprobleme zerlegt werden) fest. Eine solche Schnittstelle ist dabei immer abstrakt (ob du es hinschreibst oder nicht) und es sind nur die Methoden, die nach aussen sichtbar sind (also immer public).
Das Modell kann damit die Beziehungen dieser Schnittstellen zueinander darstellen. Zudem muss jede Implementierung halt diese Methoden zur Verfügung stellen. Der Vorteil liegt jetzt einfach darin, dass du jedes der Teilprobleme unabhängig von allen anderen lösen kannst (da du die Schnittstelle kennst). Nur dadurch kannst du parallel verschiedene Teile implementieren, was wiederum bei Gruppen zum Tragen kommt. Ist ein Problem komplexer als ein Anderes, ist dies egal. Mit dem Interface (und ggf. einer Dummy-Implementierung) kann leicht gearbeitet werden, der austausch ist zu jedem Zeitpunkt (ohne Probleme und Änderungen) möglich.

Ein Interface ist nur dafür gedacht und aus genau diesem Grund stellt es erstmal nur die öffentlichen und abstrakten Methoden zur Verfügung. Für einzelne konkrete Implementierungen kannst du nun eine Basisklasse (die dann abstrakt ist) schaffen, die zusätzlich zu den Interfaces noch andere Methoden (mit anderer Sichtbarkeit) einführt und das entsprechende Interface implementiert.
Das hat dann wiederum den Vorteil der Austauschbarkeit.

In beiden Fällen ist es nicht möglich so vorzugehen, aber es ist immer eine gute Möglichkeit.

Gruß Der Anmeldeboykottierer
 
G

Guest

Gast
Hallo,
ich habe genau das soeben feststellen muessen. Ich dachte immer Interfaces sind zum planen da, ja, aber eben auch um quasi eine gewisse Art der Mehrfachvererbung zu erreichen. Aber warum man dann eben kein protected zur Verfuegung hat, war mir ein Raetsel. Natuerlich koennte man dann ja auch alles gleich public deklarieren... Nun gut, dann halt wieder "abstract" Klassen machen. Danke.
 

Acha

Bekanntes Mitglied
Hi,

ich finde, beides hat seine Berechtigung, sowohl abstrakte Klasse als auch das Interface.
Mir wurde das Interface als eine Art Vertrag dargestellt, der festlegt, welche Variablen und Methoden die erbende Klasse umsetzen muß. So kann es eben nicht passieren, dass man in der erbenden Klasse vergißt, Methoden umzusetzen.

MFG

Acha
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
E abstrakte Klasse implementiert ein Interface Java Basics - Anfänger-Themen 40
kilopack15 Beziehung Interface - (abstrakte) Klasse -Unterklasse Java Basics - Anfänger-Themen 3
M Statische Methoden in Interface/Abstrakte Klasse Java Basics - Anfänger-Themen 6
propra Interface - abstrakte Klasse Java Basics - Anfänger-Themen 18
D Wann genau abstrakte Klasse und wann ein Interface verwenden? Java Basics - Anfänger-Themen 4
K Abstrakte Klasse vs. Interface Java Basics - Anfänger-Themen 21
Acha Unterschied Interface - abstrakte Klasse Java Basics - Anfänger-Themen 4
B OOP: abstrakte klasse implementiert interface Java Basics - Anfänger-Themen 3
J Java Interface/abstrakte Klassen Java Basics - Anfänger-Themen 2
M Erste Schritte Prüfungsbeispiel: Interface / abstrakte Klassen Java Basics - Anfänger-Themen 8
A Interface Abstrakte Interface Methode kann nicht benutzt werden Java Basics - Anfänger-Themen 10
M Interface und Abstrakte Klassen Java Basics - Anfänger-Themen 12
B Abstrakte Methode vs. Interface Java Basics - Anfänger-Themen 2
M Unterscheid Abstrakte Klassen/Interface Klassen? Java Basics - Anfänger-Themen 7
G konkretes beispiel: interface hier besser als abstrakte kl. Java Basics - Anfänger-Themen 4
I No Jakarta Enterprise Beans found with interface ignorieren? Java Basics - Anfänger-Themen 2
I No EJB found with interface of type Java Basics - Anfänger-Themen 12
wolei Java generic interface in a generic class Java Basics - Anfänger-Themen 6
Say Abstrakt oder Interface Java Basics - Anfänger-Themen 3
Say public/default Interface Java Basics - Anfänger-Themen 9
D Interface Methode wird ungewollt in der Subklasse überschrieben Java Basics - Anfänger-Themen 5
W Intuitive interface für Komponenten Java Basics - Anfänger-Themen 4
I Browser integriert in Desktop Applikation - Webcam interface not found Java Basics - Anfänger-Themen 26
U Beispiel Methode size() vom "Collection"-interface... Wie kann man sichtbar machen, was die Methode unter der Haube macht? Java Basics - Anfänger-Themen 8
J Interface Comparable<T> Java Basics - Anfänger-Themen 10
M Interface oder Vererbung? Java Basics - Anfänger-Themen 12
D Interface Verständisfrage Java Basics - Anfänger-Themen 8
U Interface | constructor injection Java Basics - Anfänger-Themen 5
J Interface Interface korrekt implementieren Java Basics - Anfänger-Themen 5
A Methoden Vererbung und Interface Java Basics - Anfänger-Themen 14
T Interface Map und Map.Entry Java Basics - Anfänger-Themen 4
U Interface als PAramter (Vergleich) und ein Error Java Basics - Anfänger-Themen 9
I Interface von einer EJB Klasse, um Code zu reduzieren Java Basics - Anfänger-Themen 1
M Interface als Parameter einer Klasse Java Basics - Anfänger-Themen 8
M Wie kann ich eine Methode aus einem Interface in eine Klasse implementieren, so dass sie ihre Funktion ausführt? Java Basics - Anfänger-Themen 7
I JSON und Interface Java Basics - Anfänger-Themen 3
Kotelettklopfer Kleines Testprogramm mit Interface und einer Usereingabe Java Basics - Anfänger-Themen 16
J Interface methode aufrufen (interface parameter) Java Basics - Anfänger-Themen 7
CptK Interface Functional interface mit mehreren Methoden Java Basics - Anfänger-Themen 6
L Interface & Comparable Java Basics - Anfänger-Themen 15
T Interface Java Basics - Anfänger-Themen 0
CptK Generics: Klassen die Interface implementieren, aber selbst nicht das Interface sind Java Basics - Anfänger-Themen 8
B Interface List - Objekt übergeben? Einzelnes Objekt geht, aber Liste nicht? Java Basics - Anfänger-Themen 4
B Best Practice Unschlüssig ob Vererbung oder Interface Java Basics - Anfänger-Themen 2
C Interface und Konstruktor Java Basics - Anfänger-Themen 1
S Interface Equals und hashCode Java Basics - Anfänger-Themen 16
A Generische Klassen/Interface Java Basics - Anfänger-Themen 1
C Methoden-Parameter ist Interface Java Basics - Anfänger-Themen 5
B Collections Objektreferenz-ID in der Ausgabe (Comparator Interface) Java Basics - Anfänger-Themen 2
A Interface Kuddelmuddel Java Basics - Anfänger-Themen 4
C Collections List über Interface zugreifen Java Basics - Anfänger-Themen 32
S Interface Interface und seine Implementierung Java Basics - Anfänger-Themen 5
H abstract und interface Java Basics - Anfänger-Themen 4
F Interface Casting Java Basics - Anfänger-Themen 13
C Telefonliste mit interface implementieren Java Basics - Anfänger-Themen 30
L Klassen Kann eine Unterklasse einer abstrakten Klasse ein Interface implementieren? Java Basics - Anfänger-Themen 2
H Interface Java Basics - Anfänger-Themen 2
R Quicksort mit Interface Comparable Java Basics - Anfänger-Themen 6
T Interface Methode im Interface mit mehreren Parametern Java Basics - Anfänger-Themen 10
B Interface vs Abstract Java Basics - Anfänger-Themen 2
B Objekte zählen/ Vererbung/ Kopplung/ Interface/ Abstract Class Java Basics - Anfänger-Themen 5
pkm Interface Funktionales Interface lässt sich nicht implementieren. Java Basics - Anfänger-Themen 2
Kornblume Comparable Interface für Objektvergleiche nutzen Java Basics - Anfänger-Themen 15
I Comparator<T> Interface als Methodenparamter Java Basics - Anfänger-Themen 4
J OOP Wie sollte ich das organisieren (Abstract? Interface?) Java Basics - Anfänger-Themen 33
E Interface nur von abstrakter Klasse implementierbar?! Java Basics - Anfänger-Themen 1
J Vererbung Abstrake Klasse <-> Interface Java Basics - Anfänger-Themen 5
C Interface als Datentyp eines Attributes? Java Basics - Anfänger-Themen 6
U Interface Bedeutung "Code to an interface rather than to an implementation." Java Basics - Anfänger-Themen 4
M Maven Main-Methode Interface und Klasse Java Basics - Anfänger-Themen 2
R Interface Eigene Objekte in Listen sortieren mit Interface Comparable Java Basics - Anfänger-Themen 5
D Interface Amazon Skill Kit, Interface but method in other class? Java Basics - Anfänger-Themen 3
J Compiler-Fehler class interface or enum expected Java Basics - Anfänger-Themen 1
T Vererbung und interface. Java Basics - Anfänger-Themen 1
N Interface Interface Erstellung Java Basics - Anfänger-Themen 3
C Interface Fragen zum Interface Java Basics - Anfänger-Themen 7
Azazel Ist die abstract class das selbe wie ein interface ? Java Basics - Anfänger-Themen 33
K Interface: wie damit arbeiten Java Basics - Anfänger-Themen 4
lBlKha0s Fehlermeldung : class interface or enum expected Java Basics - Anfänger-Themen 9
T error: class, interface, or enum expected Java Basics - Anfänger-Themen 5
T Vererbung Interface Java Basics - Anfänger-Themen 5
F Interface aus anderem Package nutzen Java Basics - Anfänger-Themen 10
N Interface Daten einem Implementierten Interface zuweisen Java Basics - Anfänger-Themen 37
B Erste Schritte Wie definiere ich in Java ein Interface? Java Basics - Anfänger-Themen 6
L OOP Interface Prinzip? Java Basics - Anfänger-Themen 6
K Nutzung einer Klasse die das Iterator-Interface implementiert Java Basics - Anfänger-Themen 0
K Iterator-Interface implementieren mit Exception Handlung Java Basics - Anfänger-Themen 1
J Innerhalb Interfacemethode: Interface als Attribut Java Basics - Anfänger-Themen 2
A Frage zu Interface Java Basics - Anfänger-Themen 16
J Interface Java Basics - Anfänger-Themen 3
W Interface Java Basics - Anfänger-Themen 1
L Compiler-Fehler error: class, interface or enum expected Java Basics - Anfänger-Themen 2
G Interface java.util.Comparator: Wieso muss nur die Methode compare() implementiert werden Java Basics - Anfänger-Themen 2
N Generics Vererbung Wildcard Interface Java Basics - Anfänger-Themen 8
Shams Kann man von einem Interface aus auf die dieses implementierende Klasse zugreifen? Java Basics - Anfänger-Themen 4
S Generische Methode soll Objekte als Parameter erlauben die bestimmtes Interface implementieren^ Java Basics - Anfänger-Themen 9
J Frage zu dem Thema interface Java Basics - Anfänger-Themen 5
S Generics und Comparable Interface Java Basics - Anfänger-Themen 5
A Klasse,Vererbung,Interface,Singleton,Thread Java Basics - Anfänger-Themen 5
S Interface-Methode abrufen? Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben