Interface

noobie06
Erstie
Erstie
Beiträge: 13
Registriert: 21. Dez 2009 15:54
Kontaktdaten:

Interface

Beitrag von noobie06 » 2. Sep 2010 18:30

Hallo,

vieles in Java finde ich eigentlich logisch aba eine Sache ist mir nicht klar.

Was is der Sinn und Zweckk von Interfaces?? Ich weiß dass es einer Abstrakten Klasse sehr ähnelt, jedoch verstehe ich nicht
wozu es gebraucht wird, wenn keine fertigen Methoden direkt implementiert werden können.

gruß

Melkom
Mausschubser
Mausschubser
Beiträge: 89
Registriert: 21. Okt 2005 13:58
Wohnort: Frankfurt am Main

Re: Interface

Beitrag von Melkom » 2. Sep 2010 20:38

Ein Interface definiert, welche Methoden auf einem Objekt dieses Interfaces aufgerufen werden können.

Ein Vorteil der Verwendung von Interfaces ist z.B. ein flexiblerer Entwicklungsprozess: Man kann Softwarekomponenten bereits nutzen, ohne dass eine Implementierung vorliegt. Ein weiterer Vorteil ist, dass Subklassen des Interfaces beliebig ausgetauscht werden können. Wenn sich z.B. im Laufe der Entwicklung herausstellt, dass die Klasse LinkedList besser geeignet ist als die Klasse ArrayList, braucht man bei konsequenter Verwendung des statischen Typ List nur die Instanziierung abändern und verwendet dann LinkedList als dynamischen Typ.

noobie06
Erstie
Erstie
Beiträge: 13
Registriert: 21. Dez 2009 15:54
Kontaktdaten:

Re: Interface

Beitrag von noobie06 » 3. Sep 2010 14:50

Melkom hat geschrieben: Man kann Softwarekomponenten bereits nutzen, ohne dass eine Implementierung vorliegt.
Ich verstehe nicht was du damit meinst. Wie soll eine Methode genutzt werden zudem keine Implementierung vorliegt.
Kannst du mir das bitte genauer erläutern.

Melkom
Mausschubser
Mausschubser
Beiträge: 89
Registriert: 21. Okt 2005 13:58
Wohnort: Frankfurt am Main

Re: Interface

Beitrag von Melkom » 3. Sep 2010 16:27

noobie06 hat geschrieben: Ich verstehe nicht was du damit meinst. Wie soll eine Methode genutzt werden zudem keine Implementierung vorliegt.
Kannst du mir das bitte genauer erläutern.
Wenn du eine Anwendung entwickelst, machst du das normalerweise nicht alles alleine, sondern die Arbeit wird auf mehrere Teams aufgeteilt. Nun kann es sein, dass du eine Komponente schreiben willst und dabei eine andere benutzen möchtest, die ein anderes Team entwickelt. Nun willst du nicht warten bis dieses Team mit der Implementierung fertig ist. Deshalb gibts du ein Interface für diese Komponente vor, das du dann in deinem Modul benutzen kannst. Dabei musst du nur wissen, was bei dieser Komponente "hinten rauskommt", die eigentliche Implementierung ist dir egal; macht ja ein anderes Team (Black-Box-Prinzip).

Natürlich kannst du von diesem Interface keine Objekte erzeugen. Die musst du dir dann gegebenenfalls von irgendwoher übergeben lassen.

Ich weiß, das ist alles nicht ganz einfach, insbesondere wenn man nicht das softwaretechnische Hintergrundwissen hat, aber hoffentlich ist es jetzt klarer.

Melkom
Mausschubser
Mausschubser
Beiträge: 89
Registriert: 21. Okt 2005 13:58
Wohnort: Frankfurt am Main

Re: Interface

Beitrag von Melkom » 3. Sep 2010 16:31

Vielleicht noch ein etwas "praktischeres" Beispiel: Steckdosen in einem Haus sind im Prinzip auch Schnittstellen. Du weißt nicht welche Geräte später mal angeschlossen werden, aber du kannst davon ausgehen, dass sie über einen passenden Stecker verfügen und einen Widerstand darstellen.

Antworten

Zurück zu „Archiv“