Article View: pl.comp.lang.php
Article #231911Re: Dobre praktyki
From: Rafal Podsiadly
Date: Sun, 28 Jan 2018 15:08
Date: Sun, 28 Jan 2018 15:08
20 lines
2961 bytes
2961 bytes
> Nie musisz mi tłumaczyć podstawowych pojęć. Ja się pytam, czy znasz jakieś > różnice w kontekście wydajności przy obsłudze parametrów w funkcji, a w > metodzie. > > -- > Borys Pogoreło > borys(#)leszno,edu,pl Miałem na myśli sposób odkładania funkcji w pamięci, a funkcji w klasach. O tym że przekazując zmienna do klasy przekazujemy jej kopie (chyba, że zdeklarujemy inaczej), przekazując obiekt przekazujemy jego adres. Funkcja żyje w pamięci cały czas i każde jej użycie to przeładowanie stosu załadowanie funkcji zakończenie i zwolnienie stosu. Klasa żyje w pamięci gdy utworzymy jej instancje ale tylko z atrybutami. Natomiast funkcje klas odkładane są w pamięci w postaci adresów do funkcji. W rezultacie wywołując funkcje z klasy odwiedzamy adres w pamięci do funkcji. Uruchamiając obiekt też mamy przeładowanie stosu -> załadowanie obiektu z atrybutami i wszystkimi adresami do funkcji. Tworząc wielokrotność obiektu mamy ciągle w każdej instancji ten sam adres do tej samej metody. Jeśli wywołujemy funkcje jedna po drugiej to one nie wymagają już przeładowania stosu. Między innymi dlatego tak dobry jest polimorfizm i dziedziczenie. Bo każda klasa z której dziedziczymy zawiera adresy metod a nie same metody w swoim ciele w pamięci. Mam nadzieje że dość jasno się wyraziłem. Jak coś piszcie.
Technical Details
Message-ID:
<7896593d-cdba-43e8-9e80-67933cd6b5e7@googlegroups.com>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!news.nask.pl!news.nask.org.pl!news.unit0.net!weretis.net!feeder6.news.weretis.net!feeder.usenetexpress.com!feeder-in1.iad1.usenetexpress.com!border1.nntp.dca1.giganews.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!s47no2574221qta.0!news-out.google.com!g8ni670qtk.0!nntp.google.com!i22no2573454qta.1!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mailReferences:
<2lhebv1xabri$.dlg@tyczka.com> <6d0bd754-9b46-46ce-98ff-c5265a9a93af@googlegroups.com> <chac9zcm8l6a.1gxug7ng6lbce$.dlg@40tude.net> <cd0f750f-2346-4016-bbbd-a72c386c561d@googlegroups.com> <11h5x9gnb08i1$.1b3r2cdtpxkuj$.dlg@40tude.net>Show Full Headers
Complete Article Headers
X-Received: by 10.200.4.26 with SMTP id v26mr14327942qtg.25.1517152086772; Sun, 28 Jan 2018 07:08:06 -0800 (PST) X-Received: by 10.31.50.209 with SMTP id y200mr2178033vky.3.1517152086475; Sun, 28 Jan 2018 07:08:06 -0800 (PST) Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!news.nask.pl!news.nask.org.pl!news.unit0.net!weretis.net!feeder6.news.weretis.net!feeder.usenetexpress.com!feeder-in1.iad1.usenetexpress.com!border1.nntp.dca1.giganews.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!s47no2574221qta.0!news-out.google.com!g8ni670qtk.0!nntp.google.com!i22no2573454qta.1!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail Newsgroups: pl.comp.lang.php Date: Sun, 28 Jan 2018 07:08:06 -0800 (PST) In-Reply-To: <11h5x9gnb08i1$.1b3r2cdtpxkuj$.dlg@40tude.net> Complaints-To: groups-abuse@google.com Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=87.207.83.154; posting-account=reqlzgoAAACKWK1i9kGr8VyQtzu_4AF6 NNTP-Posting-Host: 87.207.83.154 References: <2lhebv1xabri$.dlg@tyczka.com> <6d0bd754-9b46-46ce-98ff-c5265a9a93af@googlegroups.com> <chac9zcm8l6a.1gxug7ng6lbce$.dlg@40tude.net> <cd0f750f-2346-4016-bbbd-a72c386c561d@googlegroups.com> <11h5x9gnb08i1$.1b3r2cdtpxkuj$.dlg@40tude.net> User-Agent: G2/1.0 MIME-Version: 1.0 Message-ID: <7896593d-cdba-43e8-9e80-67933cd6b5e7@googlegroups.com> Subject: Re: Dobre praktyki From: Rafal Podsiadly <spinacz24@gmail.com> Injection-Date: Sun, 28 Jan 2018 15:08:06 +0000 Lines: 36 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit