Article View: pl.comp.lang.python
Article #26798Re: python vs php - potrzebne argumenty
From: Łukasz Rekucki
Date: Tue, 03 Nov 2009 10:57
Date: Tue, 03 Nov 2009 10:57
54 lines
4696 bytes
4696 bytes
On Nov 3, 8:11 am, pakalk <pak...@gmail.com> wrote: > On Nov 3, 2:19 am, "Jaroslaw Zabiello" <use...@onet.eu> wrote: > > > > W PHP przeciazysz metody statyczne. Nie wierzysz? Sprawdz. > > > W PHP - tak, w Javie - nie. > > No i ok. W zwiazku z tym juz metody statyczne z PHP sa jak klasowe z > Pythona, czy nie? A moze rowniez te z javy to jedno i to samo, ale > zrealizowane w inny sposob, z innym spektrum mozliwosci, uwarunkowanym > przez jezyk? > > > > Tak wiem.. zaraz mi napiszesz, ze lipne to - ale to nie jest cecha > > > metod statycznych. One wykonywane sa w kontekscie klasy - znaczy sa > > > klasowe. Tak sie nazywaja w UML, a on bazuje na Javie i zapewniam - > > > metoda klasowa zamodelowana w UML bedzie zrealizowana jako statyczna w > > > Javie. > > > To się źle nazywa. Mało mnie obchodzi UML. Metody statycznej Javy nie > > przeciążysz, bo się nie da. Można ją tylko przesłonić. > > > (...) > > > wynik: > > > instanceMethod() in Bar > > classMethod() in Foo > > Może dlatego, że nie została zaprojektowana do odpalania na > instancjach, tylko w kontekscie klasy, a jesli jest odpalona na > instancji, to celowo trzyma sie kontekstu oryginalnej klasy, zeby moc > obsluzyc dane w taki sposob w jaki one sa zapisane w ramach tejze > klasy? Nie wiem. Mozliwosci tych metod sa inne niz w Pythonie, chocby > dlatego, ze rozne sa podejscia do jezyka, ale to nie znaczy, ze nie > moga realizowac tych samych zadan (ja raczej rzadko mam potrzebe > korzystania z metod statycznych w nizszych instancjach - jak chce cos > przeciazac, to metody instancyjne - wtedy i polimorfizm ma sens, bo > jak zapisales Foo x = new Bar() operuje na instancjach, a nie na > klasach). Ja ma tylko pytanie. Czy możecie w imię starej, umęczonej Javy przestać pisać takie pierdoły? Co drugą linijkę mylicie podstawowe pojęcia (chociażby przeciążanie [overloading, ad-hoc polymorphism ] z przesłanianiem [overriding, inheritance]). A później jeszcze dorabiacie filozofię i debatujecie nad przykładem, który pokazuję jedynie, że kompilator umioe poprawnie zamienić f.x() na declared_type (f).x() - bo wiązanie metod jest statyczne, a metody "static" są nie wirtualne (można poznać bo braku super) i broń boże nie mają jakiegoś mistycznego kontekstu związanego z klasą (co można poznać po braku this). Więc proszę was, jak już trolujecie na tej grupie, to przynajmniej o czymś o czym macie chociaż jakiegokwiek pojęcie. Ja z chęcią mogę posłuchać o kreacjonizmie - przynajmniej może czegoś się dowiem.
Technical Details
Message-ID:
<0feaa1f1-6ac8-4ea6-b866-ce192a6c5425@a21g2000yqc.googlegroups.com>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.onet.pl!news.nask.pl!news.nask.org.pl!newsfeed00.sul.t-online.de!t-online.de!border2.nntp.dca.giganews.com!nntp.giganews.com!postnews.google.com!a21g2000yqc.googlegroups.com!not-for-mailReferences:
<h83in7$rl3$1@inews.gazeta.pl> <a501db87-9ccf-4694-a8f8-330a67cdc839@15g2000yqy.googlegroups.com> <7aa62383-88c2-4138-89d6-594112504075@g27g2000yqn.googlegroups.com> <op.u2nhqrhyeaqjf2@macbook-pro-15-zbiru.local> <97ad13b9-95bf-4c61-8a1b-59c7c57e8499@s31g2000yqs.googlegroups.com> <op.u2oi93ceeaqjf2@macbook-pro-15-zbiru.local> <12b7fbaa-206c-4b39-8868-4e3b96eea704@37g2000yqm.googlegroups.com> <op.u2p83sqyeaqjf2@macbook-pro-15-zbiru.local> <c3247d6d-5199-4c45-9825-772387effd7b@f16g2000yqm.googlegroups.com> <op.u2quicq2eaqjf2@macbook-pro-15-zbiru.local> <0d2efb92-6837-425f-b45e-0d9a8575fc99@v36g2000yqv.googlegroups.com> <op.u2revzrfeaqjf2@macbook-pro-15-zbiru.local> <36b1e998-63ea-4bb3-a0fb-ca38004a1105@j4g2000yqe.googlegroups.com> <op.u2sombk4eaqjf2@macbook-pro-15-zbiru.local> <1417ef0b-038f-461b-be53-d92963c8c7f0@k17g2000yqb.googlegroups.com>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.onet.pl!news.nask.pl!news.nask.org.pl!newsfeed00.sul.t-online.de!t-online.de!border2.nntp.dca.giganews.com!nntp.giganews.com!postnews.google.com!a21g2000yqc.googlegroups.com!not-for-mail From: Łukasz Rekucki <lrekucki@gmail.com> Newsgroups: pl.comp.lang.python Subject: Re: python vs php - potrzebne argumenty Date: Tue, 3 Nov 2009 02:57:56 -0800 (PST) Organization: http://groups.google.com Lines: 60 Message-ID: <0feaa1f1-6ac8-4ea6-b866-ce192a6c5425@a21g2000yqc.googlegroups.com> References: <h83in7$rl3$1@inews.gazeta.pl> <a501db87-9ccf-4694-a8f8-330a67cdc839@15g2000yqy.googlegroups.com> <7aa62383-88c2-4138-89d6-594112504075@g27g2000yqn.googlegroups.com> <op.u2nhqrhyeaqjf2@macbook-pro-15-zbiru.local> <97ad13b9-95bf-4c61-8a1b-59c7c57e8499@s31g2000yqs.googlegroups.com> <op.u2oi93ceeaqjf2@macbook-pro-15-zbiru.local> <12b7fbaa-206c-4b39-8868-4e3b96eea704@37g2000yqm.googlegroups.com> <op.u2p83sqyeaqjf2@macbook-pro-15-zbiru.local> <c3247d6d-5199-4c45-9825-772387effd7b@f16g2000yqm.googlegroups.com> <op.u2quicq2eaqjf2@macbook-pro-15-zbiru.local> <0d2efb92-6837-425f-b45e-0d9a8575fc99@v36g2000yqv.googlegroups.com> <op.u2revzrfeaqjf2@macbook-pro-15-zbiru.local> <36b1e998-63ea-4bb3-a0fb-ca38004a1105@j4g2000yqe.googlegroups.com> <op.u2sombk4eaqjf2@macbook-pro-15-zbiru.local> <1417ef0b-038f-461b-be53-d92963c8c7f0@k17g2000yqb.googlegroups.com> NNTP-Posting-Host: 212.76.62.207 Mime-Version: 1.0 X-Trace: posting.google.com 1257245877 29367 127.0.0.1 (3 Nov 2009 10:57:57 GMT) X-Complaints-To: groups-abuse@google.com NNTP-Posting-Date: Tue, 3 Nov 2009 10:57:57 +0000 (UTC) Complaints-To: groups-abuse@google.com Injection-Info: a21g2000yqc.googlegroups.com; posting-host=212.76.62.207; posting-account=5fpXZwoAAADF-CUdCuJ-FpYxG8__-wRx User-Agent: G2/1.0 X-HTTP-UserAgent: Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US) AppleWebKit/532.0 (KHTML, like Gecko) Chrome/3.0.195.27 Safari/532.0,gzip(gfe),gzip(gfe) Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit