Delphi中实现C++/Java类似静态变量的功能

转载 2007年09月21日 00:34:00
在网上看到很多人都在为Delphi是否支持C++/Java中的静态变量及静态方法的功能而困扰,其实这在Delphi中是很简单的.

静态方法就是使用Class Function. 静态变量则使用单元局部变量来实现. 代码如下:http://blog.csdn.net/hydonlee/

 

//=========================================
// StaticVarTestU - 定义了可以计数的类,通过类方法即可访问此类的对象数
//=========================================
unit StaticVarTestU;

interfacetype
  TStaticVarClass 
= class
  
public
    
//constructor
    constructor Create();
    destructor Destroy; override;
//类方法,取得对象的计数class function ObjectCount: integer;
  protected
  
private  end;

implementation

Var
  LObjCount: 
integer;


{ TStaticVarClass }

constructor TStaticVarClass.Create;
begin
  inc(LObjCount);   
//使用局部变量
end;destructor TStaticVarClass.Destroy;
begin
  dec(LObjCount);   
//使用局部变量  inherited;
end;class function TStaticVarClass.ObjectCount: integer;
begin
  Result :
= LObjCount;     //返回局部变量
end;

initialization
  LObjCount :
= 0;           //初始化

finalization
  LObjCount :
= 0;

end.

//=========================================
// StaticTest - 测试代码,创建10个对象,并访问其计数,再Free掉.
//=========================================
program StaticTest;

{$APPTYPE CONSOLE}

uses
  SysUtils,
  Classes,
  StaticVarTestU in 
'StaticVarTestU.pas';

procedure printObjCount;
begin
  WriteLn(Format(
'The Object Count now is %d', [TStaticVarClass.ObjectCount]));
end;

var
  i: 
integer;
  mObjList: TList;
begin
  { TODO 
-oUser -cConsole Main : Insert code here }

  mObjList :
= TList.Create;

  printObjCount;

  
for i := 0 to 10 do
  begin
    mObjList.Add(TStaticVarClass.Create());

    printObjCount;
  
end;

  
for i := 0 to mObjList.Count -1 do
  begin
    TStaticVarClass(mObjList.Items[i]).Free;

    printObjCount;
  
end;

  mObjList.Free;

  readln;
end.

from作者Blog:

如何在Delphi中实现C语言中静态变量的功能

如何在Delphi中实现C语言中静态变量的功能DELPHI编程2007-09-02 14:56:01阅读28评论0  字号:大中小 订阅如何在Delphi中实现C语言中静态变量的功能 在函数(func...

Java中静态变量与实例变量的区别 静态变量活用实现类似session的功能

java类的成员变量有俩种:一种是被static关键字修饰的变量,叫类变量或者静态变量;另一种没有static修饰,为实例变量。   在语法定义上的区别:静态变量前要加static关键字,而实例变量...

C++ 静态变量的使用

  • 2011年11月28日 14:05
  • 2.2MB
  • 下载

这篇文章主要介绍了Python使用函数默认值实现函数静态变量的方法,是很实用的功能

本文实例展示了Python使用函数默认值实现函数静态变量的方法,具体方法如下: 一、Python函数默认值 Python函数默认值的使用可以在函数调用时写代码提供www.fanya...

静态变量的导入以及集合的运用

  • 2011年11月21日 11:00
  • 857B
  • 下载

C++类的静态变量的初始化

C++类的静态变量 注意事项: 1.类的静态变量首先是存在于任何对象之外,它不属于任何一个类,所以对象中不包含任何与静态数据成员有关的数据。 2.静态成员函数不与任何对象绑定在一起,它们不包含th...

C/C++ 变量声明和定义的区别 静态变量的作用

变量声明和定义的区别 :在学习C/C++的过程中容易混淆变量的声明和定义,先将他们的区别总结如下:...

静态变量的应用

  • 2014年12月20日 22:05
  • 695B
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Delphi中实现C++/Java类似静态变量的功能
举报原因:
原因补充:

(最多只允许输入30个字)