Article View: pl.comp.lang.java
Article #153958Re: Zagadnienie polimorfizmu?
From: Arivald
Date: Thu, 26 Dec 2013 17:11
Date: Thu, 26 Dec 2013 17:11
106 lines
5884 bytes
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-mailReferences:
<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