Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > de.comp.lang.java > #12893

Re: Grundsätzliche Frage zu Interfaces

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 | NextPrevious in thread | Next in thread | Find similar


Thread

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