WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Programmierung (http://www.wcm.at/forum/forumdisplay.php?f=17)
-   -   [Java] Interface - wozu? (http://www.wcm.at/forum/showthread.php?t=106399)

moorhahn 23.08.2003 10:22

ok, soweit verstanden, danke euch für die erklärungen.

aber trotzdem nochmal die frage: interfaces haben also nicht wirklich was damit zu tun, die mehrfachvererbung zu ersetzen?

@who-t: es ist also quasi möglich, für ne variable als typ ein interface anzugeben, welche klasse damit dann insttanziert wird, ist aber wurscht, solange die instanzierte klasse das interface implementiert?

Tarjan 23.08.2003 11:00

Ne, mit Mehrfachvererbung haben Interfaces nicht so viel zu tun. Man kann Mehrfachvererbung damit realisieren, aber dafür extra wurden sie nicht eingeführt.

Ja, in der Deklaration ist nur das Interface angegeben. Welche wirklich Insatanz du dann bekommst ist dir egal. Das Interface ist praktisch die Mutterklasse.

moorhahn 23.08.2003 12:14

ok, danke.

Who-T 24.08.2003 14:41

@Tarjan:
ich hätte mir gedacht (auch von mehreren quellen schon gehört) dass interfaces genau aus dem grund eingeführt worden, weil mit abstrakten klassen (bzw überhaupt) keine mehrfachvererbung möglich war.

mir ist schon klar dass interfaces net wirklcih mehrfachvererbung zulassen (weil die methoden ja neu geschrieben werden müssen) aber trotzdem...

Tarjan 24.08.2003 14:49

Da bin ich nicht der Meinung.

Gute Objektorientierte Packete definieren einen Satz von Interfaces. Und dazu dann Defaultimplenentierungen bzw. spezielle Klassen für verschiedene Anwendungen.

Methoden die dann mit diesen Klassen arbeiten sollten, wenn möglich, und nicht die speziellen Eigenschaften gebraucht werden mit den Interfaces arbeiten.

Mehrfachvererbung sollte sowieso vermieden werden, da man sich jede Menge Probleme einhandel kann. Mit der Interfacemehrfachvererbung kann man diese aber umgehen.

Sesa_Mina 24.08.2003 15:28

So. Ich verstehe interfaces so, dass ich damit im Prinzip die "Pinbelegung" eines Anschlusses definiere und das dazugehörige "Protokoll".

Somit kann jeder beliebige Programmierer der die Pinbelegung und das Protokoll kennt für den Anschluss einen passenden "Stecker" in sein Programm einbauen.

Damit kann dann mein Programm mit dem "angeschlossenen" Programm kommunizieren. Und auch mit anderen Programmen die über ebendiesen "Stecker" verfügen.

:cool:

(So würde ichs zumindest jemandem Erklären der sich damit nicht auskennt)

Tarjan 24.08.2003 16:58

Recht anschaulich die Erklärung ;).

Vielleicht noch dazu, ist im Prinzip der Stecker und Protokoll, ohne zu wiessen was in der Box dahinter ist.

Sesa_Mina 24.08.2003 18:19

Abstrakte Dinge sind oft schwer verständlich. Darum versuche ich Analogien zu finden bzw herzustellen. Und zwar zu Dingen die einfacher zu verstehen sind :)

Hat schon oft "gehilft" wo herkömmliche Methoden nichts gebracht haben :)


Alle Zeitangaben in WEZ +2. Es ist jetzt 07:00 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag