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


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

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 Sat, 12 Nov 2016 08:50:53 -0500
Organization Aioe.org NNTP Server
Lines 42
Message-ID <o076o0$11rm$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>
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:35894

Show key headers only | View raw


On 11/12/2016 5:22 AM, Sebastian wrote:
> Am 11.11.2016 um 03:05 schrieb Arne Vajhøj:
>> On 11/9/2016 7:45 PM, Stefan Ram wrote:
>>>   Just a small thought I had on the train today:
>>>
>>>   "implements" does not always mean "implements".
>>>
>>>   For example, this compiles:
>>>
>>> interface A { void m(); }
>>>
>>> abstract class C implements A { public abstract void m(); }

>> So m is in some sense present in C even though the
>> actual implementation have to be supplied by a
>> sub class.
>
> 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.

Arne




Back to comp.lang.java.programmer | Previous | Next — Previous in thread | Next 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