Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.java.programmer > #35894
| 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
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