🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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

Re: Zagadnienie polimorfizmu?

#153958
From: Arivald
Date: Thu, 26 Dec 2013 17:11
106 lines
5884 bytes
W dniu 2013-12-26 17:02, A.L. pisze:
> On Thu, 26 Dec 2013 09:55:57 +0100, Arivald <NOSPAMarivald@interia.pl>
> wrote:
>
>> Generalnie tak. Ale nie widzę przeszkód żeby mieć klasę opisującą
>> czynność. Zresztą właśnie Command jest czynnością.
>>
>
> Generalnie nei widze powodu zeby nie mozna miec. Tak samo jek nei
> widze powodow aby nie mozna bylo pierdzec publicznie na przyjeciu
> swiatecznym u Cioci Kloci i dlubac publicznei w nosie.
>
> Dowolny jezyk jest roznei rozciagliwy jak zuzyta prezerwatywa i mozna
> go rozciagac do woli. Ale na ogol , wsrod wielu mozliwych sposobow
> zrobienia czegos, jest kilka aledwie ktore sa prawidlowe.
>

Widzę że dyskusja na poziomie...

>>>
>>> CZYNNOSC to czesc zachowanai (protokolu) klasy.
>>>
>>> Proponuje Koledze wziac jakis prosty podrecznik do UML czy do Object
>>> Oriented Design  i przekonac sie czym jest KLASA i OBIEKT w
>>> programowaniu obiektowym
>>>
>>> A.L.
>>>
>>
>> Ale to nie wyjaśnia dlaczego konkretna klasa implementująca Command nie
>> mogła by się nazywać ZrobCosTam.
>>
>
> No mogla by. Juz wyjasnilem wyzej. Podobnei jak mzoes pierdziec
> publicznie na raucie dyplomatycznym. Podobnie jak w dowolnym jezyku
> mozesz programowac jak chcesz. Ale jest drobne rozroznienie miedzy
> PROGRAMWOANIEM OBIEKTOWYM a PROGRAMWOANIEM W JAVE. Nie kazde
> programwoanie w Javie jest programowaniem obiektowym, nawet jezeli
> uzywa sie klasy (zreszta, w Jave nie da sie nie uzywac klas).
>
>
>> W aplikacji związanej z grafiką miałem wszystkie Command w paczce
>> xx.commands, a ich nazwy to Move, Rotate, SetScale, itd.
>>
>>
>> Inny przykład na klasę ZrobCosTam : w Androidzie mam takie klasy które
>> przyjmują na wejściu obiekt z parametrami/danymi, odpalają wątek z puli
>> i próbują przetwarzać te dane w oparciu o webservice. I mają właśnie
>> takie nazwy: SaveSomething, GetSomething, etc. żeby wykonać akcję tworzę
>> nową instancję takiej klasy.
>>
>> Powiesz że mógł bym to robić w jednym obiekcie, wołając jego funkcje
>> saveSomething() etc. Mógłbym, ale i tak pod spodem musiał bym tworzyć
>> obiekty trzymające aktualny stan, progress operacji. Więc naprawdę nie
>> widzę sensu wprowadzać jeszcze jednego pośrednika.
>
> To dla ciebei widac tak jest. Niestety, z programwoaniem obiektowym
> jest tak jak z internetem: trafil pod strzechy.

 > Dla wiekszosci ludzi "programwoanei obiektowe" to programowanie w Javie.

No wybacz, ale tu żeś strzelił babola... Dla jakiej większości? Dla 
większości ludzi samo programowanie to jest zajęcie bliskie magii ;-)

A założę się że i większość programistów nie utożsamia obiektowości z 
Javą. Zresztą w mojej opinii akurat Java jest jednym z najgorszych 
języków obiektowych. Szczególnie implementacja klas generycznych woła o 
pomstę do nieba.


> O tym ze jset cos
> takiego jak PROJEKTOWANIE OBIEKTOWE i ANALIZA OBIEKTOWA, malo kto,
> niestety, wie. Zwlaszcza wsrod mlodych  "miszcow informatyki" ktorzy
> ucza sie ze "programowanie obiektowe to programowanie w Javie". czy
> C++.  O tym ze pewne rzeczy robi sie w okreslony sposob, i dlaczego
> sie tak robi, malo kto wie.
>

A akurat C++ jest, w mojej opinii, jednym z najlepszych języków 
obiektowych. I chyba najtrudniejszym. Jest w nim coś o nazwie "funktor": 
klasa z przeciążonym operatorem wykonania "()". Mając instancję takiej 
klasy można ją po prostu wykonać jak każdą inną funkcję. Można ją użyć 
zamiast funkcji we wzorcach. Funktory są używane w STLu (standardowej 
bibliotece C++), np jako predykaty.

Taki funktor dokładnie i kompletnie przeczy Twojej teorii że obiekt nie 
może być czynnością.

A że w Javie się tak nie da? A kogo to obchodzi?


> P.S. Jak pisalem wyzej, wyrzucam za dzrwi studenta ktory przyniesie mi
> klase ZrobCosTam. I bede wyrzucal poki mi sil starczy, albo studenci
> zrozumieja o co chodzi.

No cóż, współczuję im. Jak się potem sami nie doszkolą, to będą 
poszkodowani przez całą ich karierę programisty. Co roku w firmie mamy 
odsiew takich z dobrymi stopniami, ale kompletnie nie umiejących 
programować absolwentów.


BTW widzę że dyskusja za bardzo nie ma sensu, a i poziom wypowiedzi 
zapikował w dół, tak że z mojej strony to EOT.

-- 
Arivald
Technical Details
Message-ID: <l9ho0j$ac6$1@news.dialog.net.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!goblin3!goblin.stu.neva.ru!sewer!usenet.blueworldhosting.com!feeder01.blueworldhosting.com!peer03.iad.highwinds-media.com!news.highwinds-media.com!feed-me.highwinds-media.com!nx01.iad01.newshosting.com!newshosting.com!newsfeed.neostrada.pl!unt-exc-01.news.neostrada.pl!news.dialog.net.pl!not-for-mail
References: <e8a6173d-2e5d-4055-9877-1bc8fa939deb@googlegroups.com> <52b0147c$0$2160$65785112@news.neostrada.pl> <cpk1b9has1626fb6ifm3pjnt5ghj9esgno@4ax.com> <op.w8knga0te4bapi@blackstar> <pg6nb9t5bcgct766hjfp85c9jjqg3096oa@4ax.com> <l9gqv6$tng$1@news.dialog.net.pl> <aojob9p6585gef4fk1upgfd2rsgi71afmu@4ax.com>

Show 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!goblin3!goblin.stu.neva.ru!sewer!usenet.blueworldhosting.com!feeder01.blueworldhosting.com!peer03.iad.highwinds-media.com!news.highwinds-media.com!feed-me.highwinds-media.com!nx01.iad01.newshosting.com!newshosting.com!newsfeed.neostrada.pl!unt-exc-01.news.neostrada.pl!news.dialog.net.pl!not-for-mail
From: Arivald <NOSPAMarivald@interia.pl>
Newsgroups: pl.comp.lang.java
Subject: Re: Zagadnienie polimorfizmu?
Date: Thu, 26 Dec 2013 18:11:36 +0100
Organization: Dialog Net
Lines: 107
Message-ID: <l9ho0j$ac6$1@news.dialog.net.pl>
References: <e8a6173d-2e5d-4055-9877-1bc8fa939deb@googlegroups.com> <52b0147c$0$2160$65785112@news.neostrada.pl> <cpk1b9has1626fb6ifm3pjnt5ghj9esgno@4ax.com> <op.w8knga0te4bapi@blackstar> <pg6nb9t5bcgct766hjfp85c9jjqg3096oa@4ax.com> <l9gqv6$tng$1@news.dialog.net.pl> <aojob9p6585gef4fk1upgfd2rsgi71afmu@4ax.com>
NNTP-Posting-Host: dynamic-78-8-99-82.ssp.dialog.net.pl
Mime-Version: 1.0
X-Trace: news.dialog.net.pl 1388077907 10630 78.8.99.82 (26 Dec 2013 17:11:47 GMT)
X-Complaints-To: abuse@dialog.net.pl
NNTP-Posting-Date: Thu, 26 Dec 2013 17:11:47 +0000 (UTC)
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:24.0) Gecko/20100101 Thunderbird/24.2.0
In-Reply-To: <aojob9p6585gef4fk1upgfd2rsgi71afmu@4ax.com>
X-Received-Bytes: 5457
X-Received-Body-CRC: 14391343
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit