Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.java.programmer > #28724
| From | Eric Sosman <esosman@comcast-dot-net.invalid> |
|---|---|
| Newsgroups | comp.lang.java.programmer |
| Subject | Re: Queue and Map interface |
| Date | 2014-06-13 17:32 -0400 |
| Organization | A noiseless patient Spider |
| Message-ID | <lnfql9$hnq$1@dont-email.me> (permalink) |
| References | <lnfoa3$8sn$1@online.de> |
On 6/13/2014 4:52 PM, Philipp Kraus wrote:
> Hello,
>
> I would like to create a class which implements a Map and a Queue with
>
> class myMapQueue<A,B> extends myAbstractClass implements Map<A,B>,
> Queue<B> {}
>
> The problem is the remove(Object) method, because the method is defined
> in the Queue and the Map
> interface in the Queue with boolean remove(Object) and in the Map with V
> remove(Object), so I get
> a "clash error". How can I solve this problem.
"Favor composition over inheritance." -- Bloch
In short, I don't believe you can do what you want -- not in the
way you want to do it. An alternative might be to implement Map<A,B>
in an outer class, one that also contains a Queue<B> implementation as
an inner class. The outer class would also have a getQueue() method
to return an instance of the inner class -- whether that's a new
instance created on the fly or a single instance that's created once
per outer class is up to you.
For even more "favoritism," you could have the outer class
implement neither Map nor Queue, and delegate both those interfaces
to inner classes.
--
Eric Sosman
esosman@comcast-dot-net.invalid
Back to comp.lang.java.programmer | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
Queue and Map interface Philipp Kraus <philipp.kraus@flashpixx.de> - 2014-06-13 22:52 +0200
Re: Queue and Map interface Eric Sosman <esosman@comcast-dot-net.invalid> - 2014-06-13 17:32 -0400
Re: Queue and Map interface markspace <markspace@nospam.nospam> - 2014-06-13 16:52 -0700
Re: Queue and Map interface Philipp Kraus <philipp.kraus@flashpixx.de> - 2014-06-14 07:52 +0200
Re: Queue and Map interface Eric Sosman <esosman@comcast-dot-net.invalid> - 2014-06-14 08:41 -0400
csiph-web