Frage Abstaktion

Kleine Spitzfindigkeit von Snape...;)

Interfaces sind Definitionen. Sie beschreiben was und wie was zu tun ist. Klassen sollten diese Interfaces implementieren, wenn sie sich an diese Definitionen halten (wollen).

P.S.: Da auch Interfaces Objekte sind, ist es möglich, auf Interface gecastete Objekte in Collections abzulegen, denn jedes Interface ist auch eine Klasse.
 
Hallo!

Interfaces sind Definitionen. Sie beschreiben was und wie was zu tun ist. Klassen sollten diese Interfaces implementieren, wenn sie sich an diese Definitionen halten (wollen).
Interfaces gebene wie die Uebersetzung schon sagt eine Schnittstellendefinition vor. Eine Schnisttstellendefinition ist eine formale Vereinbarung, dass alle implementierenden Klassen "formal" eine gewisse Funktionalitaet bieten muessen. Wie sie diese Funktionalitaet letztendlich Implementieren ist nicht im Interface festgelegt, sondern nur in der implementierenden Klasse...

P.S.: Da auch Interfaces Objekte sind, ist es möglich, auf Interface gecastete Objekte in Collections abzulegen, denn jedes Interface ist auch eine Klasse.

Ich denke hier muss man die Begriffe Klasse und Objekt (im Sinne von Instanz) auseinanderhalten. Sagen wir es mal so interfaces sind keine Klassen. Interfaces und Klassen sind Typen. Ob Interfaces Objekte sind kommt auf den Kontext an...

"Direkte" Instanzen von direkten Interface Typen gibt es nicht. Es gibt nur Instanzen von abgeleiteten Interface-Typen (Implementierende Klassen). Selbst wenn ich new Serializable(){}; schreibe wird kein Interface instanziert sondern, es wird zuerst eine anonyme Klasse generiert, welche dann instanziert wird....

Gruss Tom
 
Zurück