Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.java.programmer > #18048
| From | "Arne Vajhøj" <������ høj@1:261/38.remove-7rm-this> |
|---|---|
| Subject | Re: multiple inheritance |
| Message-ID | <502FE760.56992.calajapr@time.synchro.net> (permalink) |
| Newsgroups | comp.lang.java.programmer |
| References | <50294F06.56818.calajapr@time.synchro.net> |
| Date | 2012-08-18 19:38 +0000 |
| Organization | tds.net |
To: Leif Roar Moldskred
From: "=?UTF-8?B?QXJuZSBWYWpow7hq?=" <=?utf-8?b?qxjuzsbwywpow7hq?=@1:261/38.rem
ove-rj6-this>
To: Leif Roar Moldskred
From: =?UTF-8?B?QXJuZSBWYWpow7hq?= <arne@vajhoej.dk>
On 8/13/2012 6:55 AM, Leif Roar Moldskred wrote:
> Arne Vajh-,j <arne@vajhoej.dk> wrote:
>> On 8/2/2012 4:10 AM, Roedy Green wrote:
>>>
>>> 1. It has interfaces which gives much of the ability at lighter
>>> weight..
>>
>> Only for a very limited type of types (those with no implementation
>> at all).
>
> At times, I've wished that Java had automatic delegation (composition)
> in addition to inheritance and interface implementation, where the
> compiler automatically adds the public methods and fields from
> delegated objects, except when there's a conflict of names. Something
> like this, maybe:
>
>
> public class ClassAlfa {
> public void alfaMethod( ) { ... }
> public void sharedMethod( ) { ... }
> public void anotherSharedMethod( ) { ... }
> }
>
> public class ClassBeta {
> public void betaMethod( ) { ... }
> public void sharedMethod( ) { ... }
> public void anotherSharedMethod( ) { ... }
> }
>
>
> public class Delegator {
> private delegate ClassAlfa ALFA;
> private delegate ClassBeta BETA;
>
> public void sharedMethod( ) {
> ALFA.sharedMethod( );
> }
>
> public void anotherSharedMethod( ) {
> ALFA.sharedMethod( );
> BETA.sharedMethod( );
> }
> }
>
> public class Example {
> public static void main( String[] args ) {
> private Delegator delegator;
>
> delegator.alfaMethod( );
> delegator.betaMethod( );
> delegator.sharedMethod( );
> delegator.anotherSharedMethod( );
> }
> }
You IDE should be able to generate the code for you.
But it could save some code in some cases.
Arne
-+- BBBS/Li6 v4.10 Dada-1
+ Origin: Prism bbs (1:261/38)
-+- Synchronet 3.16a-Win32 NewsLink 1.98
Time Warp of the Future BBS - telnet://time.synchro.net:24
--- BBBS/Li6 v4.10 Dada-1
* Origin: Prism bbs (1:261/38)
--- Synchronet 3.16a-Win32 NewsLink 1.98
Time Warp of the Future BBS - telnet://time.synchro.net:24
Back to comp.lang.java.programmer | Previous | Next — Previous in thread | Find similar | Unroll thread
Re: multiple inheritance "Arne Vajhøj" <arne.vajhøj@1:261/38.remove-odu-this> - 2012-08-13 19:38 +0000
Re: multiple inheritance "Lew" <lew@1:261/38.remove-odu-this> - 2012-08-13 19:38 +0000
Re: multiple inheritance "Arne Vajhøj" <������
høj@1:261/38.remove-7rm-this> - 2012-08-18 19:37 +0000
Re: multiple inheritance "Leif Roar Moldskred" <leif.roar.moldskred@1:261/38.remove-odu-this> - 2012-08-13 19:38 +0000
Re: multiple inheritance "markspace" <markspace@1:261/38.remove-odu-this> - 2012-08-13 19:38 +0000
Re: multiple inheritance "Arne Vajhøj" <������
høj@1:261/38.remove-7rm-this> - 2012-08-18 19:38 +0000
csiph-web