Article View: pl.comp.lang.pascal
Article #93020Re: Fpc -- nowe elementy jezyka
From: Łukasz 'Maly' Ostrowski
Date: Mon, 07 Jun 2010 23:54
Date: Mon, 07 Jun 2010 23:54
53 lines
2292 bytes
2292 bytes
On Tue, 08 Jun 2010 01:03:55 +0200, Grzegorz Skoczylas wrote:
> <snip>
> Można też użyć "class var". To jest zmienna globalna, ale dostępna tylko
> w obrębie klasy.
>
> type
> JakisObiekt = class(KlasaBazowa)
> strict private
> <snip>
> class var
> { Zmienne globalne, wspólne dla wszystkich instancji klasy }
> LbaInstancji: Cardinal;
> <snip>
> end;
Gwoli uzupełnienia: zwane popularnie polami/memberami
statycznymi w innych językach programowania.
W fpc za pomocą modifier'a 'static' + dyrektywa:
{$MODE OBJFPC}
{$STATIC ON}
type
TSomeObject = class
InstanceCount: integer; static;
end;
begin
TSomeObject.InstanceCount := 123;
end.
---
Przy czym nieprawdą jest jakoby:
"To jest zmienna globalna, ale dostępna tylko w obrębie klasy."
Tylko:
"Poziom dostępu jest ściśle zależny od sekcji w której sie ta
zmienna statyczna znajduje[public, protected, private, strict X, etc],
ale referencnąć można ją tylko via TSomeObject.Something[lub instancję
TSomeObject]".
Więc czy "jest globalna" zależy od sekcji, ściśle to jest ona
statycznie linkowana więc ma uhm "globalny czas życia"[technicznie
jest statycznie linkowana]. ;-).
Chyba że coś nadinterpretowałem w poście Grzegorza, lub to jest
Delphi-Dialect specific. ;-).
--
Pozdrawiam,
Łukasz 'Maly' Ostrowski. http://l3v.pl/
Technical Details
Message-ID:
<10ktfo5n375j3.1b0kp9eef10m1.dlg@40tude.net>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!news.dialog.net.pl!not-for-mailReferences:
<huas3s$adg$1@news.dialog.net.pl> <60b5.0000083c.4c0d6452@newsgate.onet.pl> <hujtt4$sp0$1@news.dialog.net.pl>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!news.dialog.net.pl!not-for-mail From: Łukasz 'Maly' Ostrowski <maly@USUNnemo.pl> Newsgroups: pl.comp.lang.pascal Subject: Re: Fpc -- nowe elementy jezyka Date: Tue, 8 Jun 2010 01:54:32 +0200 Organization: Acme Lines: 53 Message-ID: <10ktfo5n375j3.1b0kp9eef10m1.dlg@40tude.net> References: <huas3s$adg$1@news.dialog.net.pl> <60b5.0000083c.4c0d6452@newsgate.onet.pl> <hujtt4$sp0$1@news.dialog.net.pl> NNTP-Posting-Host: static-78-9-71-129.ssp.dialog.net.pl Mime-Version: 1.0 X-Trace: news.dialog.net.pl 1275954873 30827 78.9.71.129 (7 Jun 2010 23:54:33 GMT) X-Complaints-To: abuse@dialog.net.pl NNTP-Posting-Date: Mon, 7 Jun 2010 23:54:33 +0000 (UTC) User-Agent: 40tude_Dialog/2.0.15.1 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit