Hallo
Eine allgemeine Stilfrage: Wenn eine Klasse von einer anderen Klasse erbt, die ein bestimmtes Interface implementiert, sollte man dann nochmal angeben, dass das interface implementiert wird?
Das "implements" dazuzuschreiben wird irgendwie so redundant. Es wegzulassen wirkt irgendwie unvollständig.
Vielleicht will (und sollte!) man an manchen Stellen ja NICHT drauf bauen, dass ClassB die ClassA erweitert, sondern NUR darauf, dass das Interface implementiert wird. (Ob diese Implementierung geerbt wird, oder "direkt" erfolgt, ist ja eigentlich egal). In anderen Fällen will man vielleicht nur, dass von ClassA geerbt wird, und man bekommt das Interface "versehentlich" mit dazu (es gibt je keine Möglichkeit, die Tatsache, dass das Interface implementiert wird, zu "verstecken" - wie etwa bei privater Vererbung in C++). Egal wie man es macht: Bei zukünftigen Änderungen (oder Erweiterungen, oder wenn jemand anderes die Klasse verwenden will) kann sich beides als falsch herausstellen.... ???:L
bye
EDIT: Hm - in das TextField hat der Titel reingepasst :?
Eine allgemeine Stilfrage: Wenn eine Klasse von einer anderen Klasse erbt, die ein bestimmtes Interface implementiert, sollte man dann nochmal angeben, dass das interface implementiert wird?
Code:
interface Interface {}
class ClassA implements Interface {}
// Und jetzt
class ClassB extends ClassA {}
// oder nochmal
class ClassB extends ClassA implements Interface {}
Vielleicht will (und sollte!) man an manchen Stellen ja NICHT drauf bauen, dass ClassB die ClassA erweitert, sondern NUR darauf, dass das Interface implementiert wird. (Ob diese Implementierung geerbt wird, oder "direkt" erfolgt, ist ja eigentlich egal). In anderen Fällen will man vielleicht nur, dass von ClassA geerbt wird, und man bekommt das Interface "versehentlich" mit dazu (es gibt je keine Möglichkeit, die Tatsache, dass das Interface implementiert wird, zu "verstecken" - wie etwa bei privater Vererbung in C++). Egal wie man es macht: Bei zukünftigen Änderungen (oder Erweiterungen, oder wenn jemand anderes die Klasse verwenden will) kann sich beides als falsch herausstellen.... ???:L
bye
EDIT: Hm - in das TextField hat der Titel reingepasst :?