Article View: pl.comp.objects
Article #12818Re: Ada95/05 i podobna kwestia
From: Zbyszek Malec
Date: Wed, 02 Nov 2005 16:30
Date: Wed, 02 Nov 2005 16:30
44 lines
2342 bytes
2342 bytes
A.L. wrote (tak! stara dobra wrotka!):
> Poza tym, w Javie do wersji 1.4 wszystkie collections skladowaly
> obiekty typu Object. Nie bylo wiec zadnego problemu w pakowaniu tam
> obiektow jakich sie chcialo. Wiec o co chodzi z tym, cytuje, "ale to
> sie sprawdza tylko w Smalltalku", koniec cytatu?
Nie znam dobrze smalltalka, właściwie wcale. Mogę więc pisać bzdury, ale
chyba nie powinienem.
Mając Object nie możesz wykorzystać tego, co się pod nim tak naprawdę kryje
bez rzutowania na z góry określony typ. Nie jest tam ważne jaką
funkcjonalność obiekt oferuje, a jedynie klasa (interfejs) do której
należy.
Nie jest legalne:
void foo(Object bar)
{
bar.add(5);
}
nawet jeśli pod referencją bar kryje się obiekt klasy posiadającej metodę
add(int).
MyDouble d = ...
MyFloat f = ...
void foo(Zeroable z)
{
z.zero();
}
foo(d);
foo(f);
są legalne tylko jeśli explicite zaznaczy się, że klasy MyDouble i MyFloat
implementują Zeroable.
Chociaż z drugiej strony piszę trochę w Javie i nie spotkałem się z
sytuacją, w której to byłby duży problem. Przeważnie odpowiednia hierarchia
klas i interfejsów załatwia wszystko. Tyle że trzeba z góry zadecydować,
jakie interfejsy implementuje.
--
Zbigniew Malec Ustronie:104 gg:2756100
Technical Details
Message-ID:
<j6tp2r14ewdq.1n9mji4wnlk1o$.dlg@40tude.net>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!not-for-mailReferences:
<dk7q5d$ect$1@inews.gazeta.pl> <dk81sn$rod$3@kujawiak.man.lodz.pl> <87zmooknvs.fsf@hector.domek> <4qdgm1hov8p577i2t77ka7r1s0g7gbmd2v@4ax.com> <dkabr1$632$3@kujawiak.man.lodz.pl> <7ffhm158n8umjlc4cfcrpn17jo7jgq7bjf@4ax.com> <dkagl2$gdl$4@kujawiak.man.lodz.pl> <7phhm11ihug8jg7perrs26j55p0eg1bf8a@4ax.com>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!not-for-mail From: Zbyszek Malec <zbyszekto@tlen.pl> Newsgroups: pl.comp.objects Subject: Re: Ada95/05 i podobna kwestia Date: Wed, 2 Nov 2005 17:30:20 +0100 Organization: "Portal Gazeta.pl -> http://www.gazeta.pl" Lines: 44 Message-ID: <j6tp2r14ewdq.1n9mji4wnlk1o$.dlg@40tude.net> References: <dk7q5d$ect$1@inews.gazeta.pl> <dk81sn$rod$3@kujawiak.man.lodz.pl> <87zmooknvs.fsf@hector.domek> <4qdgm1hov8p577i2t77ka7r1s0g7gbmd2v@4ax.com> <dkabr1$632$3@kujawiak.man.lodz.pl> <7ffhm158n8umjlc4cfcrpn17jo7jgq7bjf@4ax.com> <dkagl2$gdl$4@kujawiak.man.lodz.pl> <7phhm11ihug8jg7perrs26j55p0eg1bf8a@4ax.com> NNTP-Posting-Host: ds11.internetdsl.tpnet.pl Mime-Version: 1.0 X-Trace: inews.gazeta.pl 1130949020 12593 80.53.254.11 (2 Nov 2005 16:30:20 GMT) X-Complaints-To: usenet@agora.pl NNTP-Posting-Date: Wed, 2 Nov 2005 16:30:20 +0000 (UTC) X-User: zbyszanna User-Agent: 40tude_Dialog/2.0.15.1 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit