Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.java.programmer > #17826
| From | "Leif Roar Moldskred" <leif.roar.moldskred@1:261/38.remove-nlb-this> |
|---|---|
| Subject | Re: multiple inheritance |
| Message-ID | <502943B6.56774.calajapr@time.synchro.net> (permalink) |
| Newsgroups | comp.lang.java.programmer |
| References | <502943B5.56769.calajapr@time.synchro.net> |
| Date | 2012-08-13 18:36 +0000 |
| Organization | tds.net |
To: Arne Vajhøj
From: Leif Roar Moldskred <leifm@dimnakorr.com>
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( );
}
}
--
Leif Roar Moldskred
--- 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 | Next in thread | Find similar | Unroll thread
multiple inheritance "bob smith" <bob.smith@1:261/38.remove-s5y-this> - 2012-08-02 19:11 +0000
Re: multiple inheritance "markspace" <markspace@1:261/38.remove-s5y-this> - 2012-08-02 19:11 +0000
Re: multiple inheritance "Gene Wirchenko" <gene.wirchenko@1:261/38.remove-s5y-this> - 2012-08-02 19:12 +0000
Re: multiple inheritance "Eric Sosman" <eric.sosman@1:261/38.remove-s5y-this> - 2012-08-02 19:11 +0000
Re: multiple inheritance "Joshua Cranmer" <joshua.cranmer@1:261/38.remove-s5y-this> - 2012-08-02 19:12 +0000
Re: multiple inheritance "Lew" <lew@1:261/38.remove-s5y-this> - 2012-08-02 19:12 +0000
Re: multiple inheritance "Arne Vajhøj" <������
høj@1:261/38.remove-nlb-this> - 2012-08-13 18:36 +0000
Re: multiple inheritance "Roedy Green" <roedy.green@1:261/38.remove-s5y-this> - 2012-08-02 19:12 +0000
Re: multiple inheritance "Arne Vajhøj" <arne.vajhøj@1:261/38.remove-nlb-this> - 2012-08-13 18:36 +0000
Re: multiple inheritance "Lew" <lew@1:261/38.remove-nlb-this> - 2012-08-13 18:36 +0000
Re: multiple inheritance "Arne Vajhøj" <������
høj@1:261/38.remove-rj6-this> - 2012-08-18 18:36 +0000
Re: multiple inheritance "Leif Roar Moldskred" <leif.roar.moldskred@1:261/38.remove-nlb-this> - 2012-08-13 18:36 +0000
Re: multiple inheritance "markspace" <markspace@1:261/38.remove-nlb-this> - 2012-08-13 18:36 +0000
Re: multiple inheritance "Arne Vajhøj" <������
høj@1:261/38.remove-rj6-this> - 2012-08-18 18:36 +0000
Re: multiple inheritance "Jan Burse" <jan.burse@1:261/38.remove-s5y-this> - 2012-08-02 19:12 +0000
csiph-web