Article View: pl.comp.lang.java
Article #153933Jak to ugryźć jedną metodą -Java/Delphi
From: J-23
Date: Fri, 06 Dec 2013 16:39
Date: Fri, 06 Dec 2013 16:39
34 lines
2543 bytes
2543 bytes
Witam,
Na wstępie zaznaczam że niżej opisany problem będę chciał rozwiązać w
Javie ale że szukam sposobu/podpowiedzi rozwiązania problemu, puszczę to
także na grupę Delphi (Mam wrażenie że więcej osób ją przegląda)
Piszę ogólnikowo ale będę się starał by było zrozumiale dla wszystkich
Mam klasę która jest pojemnikiem na inne klasy (które nie mają jednego
wspólnego przodka - złośliwi powiedzą ze jest klasa Object :))
teraz chciałbym w klasie "pojemnik" zrobić jedną metodę która doda mi te
poszczególne objekty (nic trudnego)
bo można by utworzyć metodę: pojemnik.add(Object object) no i
pozamiatane mamy jedną metodę która doda elementy do pojemnika *dla
wszystkich*, Ja dodatkowo chciałbym kontrolować co wpada do tego
pojemnika by reagować na niektóre elementy.
Tutaj przychodzą mi do głowy 2 rozwiązania:
1. użyć *instanceof* w taki sposób:
if (object instanceof nazwaklasy){...}
2. Wzorzec projektowy: Chain of Responsibility
teraz tak co mogę, a czego nie mogę :)
Piszę w GWT tam nie ma czegoś takiego jak *instanceof*. Gdyby był nie
było by problemu :) Natomiast co do użycia wzorca którego wymieniłem
fajnie by się sprawdzał ale wymagałby każdorazowo dodania nowego obiektu
jeśli by taki powstał, a zakładam że powstaną choćby przez dziedziczenie
tych elementów które już mogą istnieć w pojemniku
i teraz to co mnie zastanawia to jak to *obejść* by jeśli elementy będą
np dziedziczone by ich nie dodawać do implementacji wzorca?
Pozdrawiam
Technical Details
Message-ID:
<l7svf1$tkd$1@mx1.internetia.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!news.supermedia.pl!news.nask.pl!news.nask.org.pl!news.internetia.pl!not-for-mailShow Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!news.supermedia.pl!news.nask.pl!news.nask.org.pl!news.internetia.pl!not-for-mail From: J-23 <baczeklu@o2.pl> Newsgroups: pl.comp.lang.java,pl.comp.lang.delphi Subject: Jak to ugryźć jedną metodą -Java/Delphi Date: Fri, 06 Dec 2013 17:39:26 +0100 Organization: Netia S.A. Lines: 35 Message-ID: <l7svf1$tkd$1@mx1.internetia.pl> NNTP-Posting-Host: 77-253-116-160.adsl.inetia.pl Mime-Version: 1.0 X-Trace: mx1.internetia.pl 1386348833 30349 77.253.116.160 (6 Dec 2013 16:53:53 GMT) X-Complaints-To: abuse@inetia.pl NNTP-Posting-Date: Fri, 6 Dec 2013 16:53:53 +0000 (UTC) X-Tech-Contact: usenet@internetia.pl User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.1.0 X-Server-Info: http://www.internetia.pl/ Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit