🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.java
Article #153744

Re: jak to jest z tymi JavaBeans

#153744
From: Arivald
Date: Thu, 03 Jan 2013 21:15
44 lines
2840 bytes
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.

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.

Tak samo jak w setterze sprawdza się czy nowa wartość jest inna niż 
dotychczasowa, i jeśli tak to podejmuje się stosowną akcję (no 
odrysowanie kontrolki po zmianie jej rozmiaru czy koloru).

A Java nie ma natywnego wsparcia dla właściwości, ma tyko konwencję 
"Java beans", która symuluje właściwości. Może dlatego tyle 
nieporozumień z tym związanych.

-- 
Arivald
Technical Details
Message-ID: <kc4sf5$tqn$1@news.dialog.net.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!news.dialog.net.pl!not-for-mail
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>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!news.dialog.net.pl!not-for-mail
From: Arivald <NOSPAMarivald@interia.pl>
Newsgroups: pl.comp.lang.java
Subject: Re: jak to jest z tymi JavaBeans
Date: Thu, 03 Jan 2013 22:15:51 +0100
Organization: Dialog Net
Lines: 46
Message-ID: <kc4sf5$tqn$1@news.dialog.net.pl>
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>
NNTP-Posting-Host: dynamic-78-8-99-8.ssp.dialog.net.pl
Mime-Version: 1.0
X-Trace: news.dialog.net.pl 1357247781 30551 78.8.99.8 (3 Jan 2013 21:16:21 GMT)
X-Complaints-To: abuse@dialog.net.pl
NNTP-Posting-Date: Thu, 3 Jan 2013 21:16:21 +0000 (UTC)
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:18.0) Gecko/20121128 Thunderbird/18.0
In-Reply-To: <50e5ee6f$0$1210$65785112@news.neostrada.pl>
X-Antivirus: avast! (VPS 130103-0, 2013-01-03), Outbound message
X-Antivirus-Status: Clean
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit