🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.python
Article #26798

Re: python vs php - potrzebne argumenty

#26798
From: Łukasz Rekucki
Date: Tue, 03 Nov 2009 10:57
54 lines
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-mail
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>

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