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


Groups > comp.lang.java.programmer > #35898

Re: "implements" does not mean "implements"

Path csiph.com!aioe.org!.POSTED!not-for-mail
From Arne Vajhøj <arne@vajhoej.dk>
Newsgroups comp.lang.java.programmer
Subject Re: "implements" does not mean "implements"
Date Mon, 14 Nov 2016 19:48:51 -0500
Organization Aioe.org NNTP Server
Lines 36
Message-ID <o0dm1i$o37$1@gioia.aioe.org> (permalink)
References <implements-20161110014035@ram.dialup.fu-berlin.de> <o03914$18dp$1@gioia.aioe.org> <o06qgq$ec$1@news.albasani.net> <o076o0$11rm$1@gioia.aioe.org> <o0am2g$7ji$1@news.albasani.net>
NNTP-Posting-Host PBuS014lhzVyHjLbXmo/ZQ.user.gioia.aioe.org
Mime-Version 1.0
Content-Type text/plain; charset=windows-1252; format=flowed
Content-Transfer-Encoding 8bit
X-Complaints-To abuse@aioe.org
User-Agent Mozilla/5.0 (Windows NT 6.1; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.4.0
X-Notice Filtered by postfilter v. 0.8.2
Xref csiph.com comp.lang.java.programmer:35898

Show key headers only | View raw


On 11/13/2016 4:30 PM, Sebastian wrote:
> Am 12.11.2016 um 14:50 schrieb Arne Vajhøj:
>> On 11/12/2016 5:22 AM, Sebastian wrote:
>>> I like to say that interfaces specify behaviors of objects, not
>>> properties of classes. Saying that C implements A amounts to saying that
>>> any o that is an instance of C behaves like an A. It has nothing to do
>>> with what methods get implemented in C.
>>
>> Behavior of objects and properties of classes should have some
>> relationship.
>>
>> But just realized something that I think matches well
>> with you way of thinking.
>>
>> interface A { void m(); }
>>
>> abstract class C implements A { }
>>
>> class Foobar extends C { public void m() { } }
>>
>> actually compiles - it is not necessary to have an abstract m in C.

> yes, indeed, the methods are already abstract in C by virtue of the
> interface.
>
> By the way, a typical use of such an idiom may be where C is some
> abstract class that offers some help in implementing A, or adds related
> behavior, so that C wouldn't really be an abstraction in its own right,
> but would exist only for purposes of code-reuse. In Java 8, such usage
> could be replaced with default methods in interfaces.

Only if fields and constructors are not needed.

Arne

Back to comp.lang.java.programmer | Previous | Next — Previous in thread | Find similar | Unroll thread


Thread

Re: "implements" does not mean "implements" Arne Vajhøj <arne@vajhoej.dk> - 2016-11-10 21:05 -0500
  Re: "implements" does not mean "implements" Sebastian <nowhere@nirvana.org> - 2016-11-12 11:22 +0100
    Re: "implements" does not mean "implements" Arne Vajhøj <arne@vajhoej.dk> - 2016-11-12 08:50 -0500
      Re: "implements" does not mean "implements" Sebastian <nowhere@nirvana.org> - 2016-11-13 22:30 +0100
        Re: "implements" does not mean "implements" Arne Vajhøj <arne@vajhoej.dk> - 2016-11-14 19:48 -0500

csiph-web