"We are back" « oc.at

[SOLVED] Java: Interface Klassen

vossi 07.10.2003 - 19:18 781 3
Posts

vossi

been there, done that
Avatar
Registered: Feb 2003
Location: Vienna
Posts: 1436
Ich habe mir gestern das Kapitel über Interface Klassen in meinem Java Buch 3 mal durchgelesen und steige nicht dahinter was das bringen soll.

OK ich kann mehrere Klassen in ein Interface geben aber keinen Source reinschreiben?

Kann mich bitte jemand aufklären?
Bearbeitet von vossi am 08.10.2003, 02:40

gue

Addicted
Avatar
Registered: Feb 2003
Location: Linz
Posts: 400
Interfaces ermöglichen einfach mehrfache Vererbung, dafür werden sie gebraucht und benützt.

Ein Interface gibt einfach (wie es die dt. Übersetzung schon sagt) eine Schnittstelle an, die Klasse, die dieses Interface implementiert kann aber dennoch von einer anderen Klasse abgeleitet werden, was den Vorteil gegenüber abstrakter Klassen darstellt.

Wenn du z.B. mit Swing programmierst, so gibt es die sogenannten Listener-Interfaces, die einfach eine Schnittstelle bereitstellen, sodass ein Modell verschiedene Views über ein Event informieren kann. Obwohl deine Klasse nun aber so ein Listener-Interface implementiert, kannst du sie noch von anderen Klassen, wie JComponent usw. (nur ein Beispiel) ableiten.

So ich hoffe, das bringt Licht ins Dunkel :P

Ringding

Pilot
Avatar
Registered: Jan 2002
Location: Perchtoldsdorf/W..
Posts: 4300
Du wirst es verstehen, wenn du dich ein bisschen damit beschäftigst. Schlagwort "design by contract".

Indem eine Klasse ein bestimmtes Interface implementiert, signalisiert sie einem Client "das kann ich".

vossi

been there, done that
Avatar
Registered: Feb 2003
Location: Vienna
Posts: 1436
Ich habe mich nun durch ein paar schlechte und auch gute Tutorials / Bücher und Beschreibungen von Freunden gequält und es gibt nun eigentlich im großen und ganzen Sinn und ich verstehe nun auch den Kontext in dem ich es gebrauchen soll (siehe Thread über Java und Graphic)

Danke für die Hilfe und die prompte Antwort
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz