易截截图软件、单文件、免安装、纯绿色、仅160KB

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

在网上看到很多人都在为Delphi是否支持C++/Java中的静态变量及静态方法的功能而困扰,其实这在Delphi中是很简单的.
静态方法就是使用Class Function. 静态变量则使用单元局部变量来实现. 代码如下:
//=========================================
// StaticVarTestU - 定义了可以计数的类,通过类方法即可访问此类的对象数
//=========================================
unit StaticVarTestU;
interface
type
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.


相关文档:

Lombok 消除Java的冗长


  Lombok是一个开源项目,可以用来消除Java代码的冗长
  详细介绍参看http://www.ibm.com/developerworks/opensource/library/os-lombok/index.html
  下面介绍Lombok如何消除Java代码的冗长。
1.      首先去http://projectlombok.org/. 下载lombok.jar 包
2.  & ......

给大家写一个java的简单的栈


import  java.util.*;
public class stack
{
         private List list=new ArrayList();
         private int index=0;
        public void push(Object obj)
   & ......

java servlet

最近,深刻的认识到, 学习,不仅要多看书,还要时不时的总结一下:
     用JSP + Servlet + JavaBean开发项目, 原以为是比较糟糕的事, 因为,JSP 页面中 总会被嵌入很多 java代码,其实我一直觉得,既然有了 struts等表示层框架,就不要用Servlet 来做控制器了, 可是最近,明白了,  仔 ......

java代理模式

代理模式的作用是:为其他对象提供一种代理以控制对这个对象的访问。
在某些情况下,一个客户不想或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用
例如:客人想请市长(真是角色)吃饭 但是请不动市长 只好找市长秘书(代理角色)  但是最后为客人做事的     还是 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号