Article View: pl.comp.lang.java
Article #153745Re: jak to jest z tymi JavaBeans
From: x
Date: Thu, 03 Jan 2013 21:53
Date: Thu, 03 Jan 2013 21:53
43 lines
2755 bytes
2755 bytes
W dniu 2013-01-03 22:15, Arivald pisze:
> W dniu 2013-01-03 21:47, x pisze:
>> W dniu 2013-01-03 11:15, Arivald pisze:
>>> W dniu 2013-01-03 11:03, Jadalbert pisze:
>>>> W dniu 2013-01-03 10:18, Arivald pisze:
>>>>
>>>> Z tego by wynikało, że aby zachować konwencje beans'a wystarczy mi
>>>> jedynie odczytywać wartość:
>>>>
>>>> private double v;
>>>> ...
>>>> public double getV() {
>>>> return kontener.x * kontener.y * kontener.z;
>>>> }
>>>> Czy dobrze rozumiem?
>>>
>>> Dokładnie tak.
>>>
>>
>> Oj to nie wygląda za dobrze. Przede wszystkim dlatego, że większość
>> programistów zinterpretuje nazwę getV() jako "zwracam pole V". Tymczasem
>> metoda nawet nie operuje na polach obiektu na rzecz którego jest
>> wywoływana, tylko na obiekcie "kontener"...
>
> Większość programistów? Może Javowców.
> A interpretacja jest nie "zwracam pole V", tylko "zwracam wartość
> właściwości 'V' ". A że właściwość jest zależna od innych, to trzeba ją
> obliczyć. Gdyby chodziło tylko o dostęp do pola, to nie miało by sensu w
> ogóle robienie settera czy gettera.
Tylko niech ta właściwość dotyczy obiektu na rzecz którego jest
wywoływana, a nie jakiegoś innego.
> W językach gdzie właściwości (property) są standardem (C#, VB, Delphi
> czy JavaScript), jest to normalne podejście żeby robić jakieś proste
> obliczenie w getterze. A czasem nawet skomplikowane działania typu lazy
> init, czy obsługa cache.
W Javie również jest to bardzo powszechna praktyka. Ale trzeba z tym
podejściem uważać, łatwo narobić bałaganu.
Pozdrawiam,
Marcin Jaskolski
Technical Details
Message-ID:
<50e5fdc3$0$1211$65785112@news.neostrada.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!news.cyf-kr.edu.pl!news.nask.pl!news.nask.org.pl!newsfeed.neostrada.pl!unt-exc-01.news.neostrada.pl!unt-spo-a-01.news.neostrada.pl!news.neostrada.pl.POSTED!not-for-mailReferences:
<50e54418$0$1298$65785112@news.neostrada.pl> <kc3ieu$a39$1@news.dialog.net.pl> <50e5578d$0$1213$65785112@news.neostrada.pl> <kc3loo$bga$1@news.dialog.net.pl> <50e5ee6f$0$1210$65785112@news.neostrada.pl> <kc4sf5$tqn$1@news.dialog.net.pl>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!news.cyf-kr.edu.pl!news.nask.pl!news.nask.org.pl!newsfeed.neostrada.pl!unt-exc-01.news.neostrada.pl!unt-spo-a-01.news.neostrada.pl!news.neostrada.pl.POSTED!not-for-mail Date: Thu, 03 Jan 2013 22:53:03 +0100 From: x <x@x.x> User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:16.0) Gecko/20121010 Thunderbird/16.0.1 MIME-Version: 1.0 Newsgroups: pl.comp.lang.java Subject: Re: jak to jest z tymi JavaBeans References: <50e54418$0$1298$65785112@news.neostrada.pl> <kc3ieu$a39$1@news.dialog.net.pl> <50e5578d$0$1213$65785112@news.neostrada.pl> <kc3loo$bga$1@news.dialog.net.pl> <50e5ee6f$0$1210$65785112@news.neostrada.pl> <kc4sf5$tqn$1@news.dialog.net.pl> In-Reply-To: <kc4sf5$tqn$1@news.dialog.net.pl> Lines: 43 Message-ID: <50e5fdc3$0$1211$65785112@news.neostrada.pl> Organization: Telekomunikacja Polska NNTP-Posting-Host: 178.43.244.214 X-Trace: 1357249987 unt-rea-b-01.news.neostrada.pl 1211 178.43.244.214:2944 X-Complaints-To: abuse@news.neostrada.pl Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit