Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > de.comp.lang.java > #12893
| Path | csiph.com!usenet.blueworldhosting.com!feeder01.blueworldhosting.com!feeder.erje.net!1.eu.feeder.erje.net!newsreader4.netcologne.de!news.netcologne.de!.POSTED!not-for-mail |
|---|---|
| From | Patrick Roemer <sangamon@netcologne.de> |
| Newsgroups | de.comp.lang.java |
| Subject | Re: Grundsätzliche Frage zu Interfaces |
| Date | Tue, 5 Jan 2016 14:38:34 +0100 |
| Organization | news.netcologne.de |
| Lines | 48 |
| Distribution | world |
| Message-ID | <n6gh0r$i0l$1@newsreader4.netcologne.de> (permalink) |
| References | <n60hnj$ojd$1@news.albasani.net> <n61aq1$a34$1@news-ailanthus.fernuni-hagen.de> <n61o6h$3q6$1@news.albasani.net> <n6383k$phq$1@news.albasani.net> <df0885F8beuU1@mid.individual.net> <n6escm$csk$1@news-ailanthus.fernuni-hagen.de> <n6eua9$hqh$1@newsreader4.netcologne.de> <inheritance-20160105020927@ram.dialup.fu-berlin.de> <n6ftil$su4$1@news-ailanthus.fernuni-hagen.de> |
| NNTP-Posting-Host | xdsl-87-78-111-90.netcologne.de |
| Mime-Version | 1.0 |
| Content-Type | text/plain; charset=utf-8 |
| Content-Transfer-Encoding | 8bit |
| X-Trace | newsreader4.netcologne.de 1452001115 18453 87.78.111.90 (5 Jan 2016 13:38:35 GMT) |
| X-Complaints-To | abuse@netcologne.de |
| NNTP-Posting-Date | Tue, 5 Jan 2016 13:38:35 +0000 (UTC) |
| User-Agent | Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.24) Gecko/20100411 Thunderbird/2.0.0.24 Mnenhy/0.7.6.0 |
| X-Enigmail-Draft-Status | N1110 |
| In-Reply-To | <n6ftil$su4$1@news-ailanthus.fernuni-hagen.de> |
| Xref | csiph.com de.comp.lang.java:12893 |
Show key headers only | View raw
Responding to Michael Paap: > Am 05.01.2016 um 02:10 schrieb Stefan Ram: > >> Ich wünschen allen einen guten Morgen! 2016 haben wir >> »default«-Methoden in Schnittstellen und damit praktisch >> volle Mehrfachvererbung, einschließlich des Diamantproblems. > > Lustigerweise haben wir die Default-Methoden aber nicht, weil man MV > wollte, sondern wir haben sie, weil man auf diese Weise eine > Weiterentwicklung bestehender Interfaces ermöglichen will. Das mag insofern stimmen, als es auch Interfaces nur gibt, um die Schmerzen fehlender Mehrfachvererbung zu lindern. :) IOW: Das mag der Hauptauslöser gewesen sein. Jetzt ist die Frage, was man draus macht... Nehmen wir mal Function in Java 8. Das Interface gab es vorher nicht, die Defaultmethoden können also nicht eingebaut worden sein, um bestehenden Code nicht kaputtzumachen. Würde man das als reines Interface mit drei abstrakten Methodendeklarationen realisieren wollen? Ungern, denn die Implementierung von #andThen() und #compose() basierend auf #apply() ist wirklich kanonisch - warum sollte jeder Implementor von Function den Boilerplate erneut runtertippen sollen? Oder könnte das genausogut eine abstrakte Klasse sein? Auch nicht wirklich, denn viele Konzepte haben implizite Funktionssemantik, und man wird den "primären Vererbungspfad" öfter mal für das eigentliche Konzept brauchen. Kann man das anders machen? Klar: Statische Methoden, Wrapperobjekte... Aber die gegebene Implementierung erscheint mir als die natürlichste. Und damit halte ich das schon für ein halbwegs valides Beispiel für die Nutzung von "Multiple Inheritance" via Defaultmethoden zur Realisierung von "Rich Interfaces". Und die JDK-Entwickler bei Oracle scheinen das ähnlich gesehen zu haben. > Ansonsten sieht man heute Vererbung ohnehin ganz anders als früher. Um > es mal etwas provokant zu formulieren: Wer braucht denn mehrfaches > Subclassing, wenn man Subclassing meist ohnehin zugunsten von Delegation > vermeidet? ;-) Wer braucht denn dann überhaupt Subclassing? Ach so, "meist"... Multiple Inheritance (in welcher Form auch immer) braucht man noch deutlich seltener als Single Inheritance, und man sollte ihren Einsatz noch skeptischer hinterfragen. Aber wenn sie mal sinnvoll und angebracht ist, ist sie nur sehr mühsam nachzubilden, wenn die Sprache sie nicht bietet. Viele Grüße, Patrick
Back to de.comp.lang.java | Previous | Next — Previous in thread | Next in thread | Find similar
Grundsätzliche Frage zu Interfaces "Ralf S. Hellersen" <schneiderxr@arcor.de> - 2015-12-30 12:12 +0000
Re: GrundsAEtzliche Frage zu Interfaces Jan Burse <janburse@fastmail.fm> - 2015-12-30 15:54 +0100
Re: Grundsätzliche Frage zu Interfaces Marcel Mueller <news.5.maazl@spamgourmet.org> - 2015-12-30 19:37 +0100
Re: Grundsätzliche Frage zu Interfaces Michael Paap <feunews@mpaap.de> - 2015-12-30 20:20 +0100
Re: Grundsätzliche Frage zu Interfaces "Ralf S. Hellersen" <schneiderxr@arcor.de> - 2015-12-30 23:09 +0000
Re: Grundsätzliche Frage zu Interfaces Michael Paap <feunews@mpaap.de> - 2015-12-31 02:35 +0100
Re: Grundsätzliche Frage zu Interfaces "Ralf S. Hellersen" <schneiderxr@arcor.de> - 2015-12-31 12:46 +0000
Re: Grundsätzliche Frage zu Interfaces "M. Strobel" <strobel@example.com> - 2016-01-04 22:58 +0100
Re: Grundsätzliche Frage zu Interfaces Michael Paap <feunews@mpaap.de> - 2016-01-04 23:40 +0100
Re: Grundsätzliche Frage zu Interfaces Patrick Roemer <sangamon@netcologne.de> - 2016-01-05 00:13 +0100
Re: Grundsätzliche Frage zu Interfaces Michael Paap <feunews@mpaap.de> - 2016-01-05 01:40 +0100
Re: Grundsätzliche Frage zu Interfaces Thomas Grund <tom.grund@gmx.de> - 2016-01-05 08:54 +0100
Re: Grundsätzliche Frage zu Interfaces Florian Weimer <fw@deneb.enyo.de> - 2016-01-07 21:31 +0100
Re: Grundsätzliche Frage zu Interfaces Thomas Grund <tom.grund@gmx.de> - 2016-01-08 06:56 +0100
Re: Grundsätzliche Frage zu Interfaces Florian Weimer <fw@deneb.enyo.de> - 2016-03-28 20:23 +0200
Re: Grundsätzliche Frage zu Interfaces Lothar Kimmeringer <news200709@kimmeringer.de> - 2016-01-08 19:13 +0100
Re: Grundsätzliche Frage zu Interfaces Patrick Roemer <sangamon@netcologne.de> - 2016-01-05 02:35 +0100
Re: Grundsätzliche Frage zu Interfaces Michael Paap <feunews@mpaap.de> - 2016-01-05 09:06 +0100
Re: Grundsätzliche Frage zu Interfaces Patrick Roemer <sangamon@netcologne.de> - 2016-01-05 14:38 +0100
Re: Grundsätzliche Frage zu Interfaces Patrick Roemer <sangamon@netcologne.de> - 2016-01-05 17:06 +0100
Re: Grundsätzliche Frage zu Interfaces Florian Weimer <fw@deneb.enyo.de> - 2016-01-07 21:43 +0100
Re: Grundsätzliche Frage zu Interfaces Patrick Roemer <sangamon@netcologne.de> - 2016-01-08 17:15 +0100
Re: Grundsätzliche Frage zu Interfaces "Ralf S. Hellersen" <schneiderxr@arcor.de> - 2016-01-09 20:45 +0000
Re: Grundsätzliche Frage zu Interfaces Lothar Kimmeringer <news200709@kimmeringer.de> - 2015-12-30 20:50 +0100
csiph-web