1 对象的相等问题,什么相等(地址还是值)?基本类型同理吗?如 Query1 := Query2;
这里是把Query2的值给Query1还是将地址给Query1?
i,k:Integer;i:=5;
k:=i;
这里又是什么相等呢?2 java中可以用equals和==号来进行引用和值的比较,delphi如何实现这两种不同的比较呢?3 Delphi中单态模式的实现,如何实现单态呢?
在java中有static的静态变量,很容易就实现对象的单例了,delphi中又如何做到呢?
4 delphi中给一个单元文件里的变量给值以后,如不手动消除,这个变量的值就会一直存在吗?
3 class关键字的作用
这里是把Query2的值给Query1还是将地址给Query1?
i,k:Integer;i:=5;
k:=i;
这里又是什么相等呢?2 java中可以用equals和==号来进行引用和值的比较,delphi如何实现这两种不同的比较呢?3 Delphi中单态模式的实现,如何实现单态呢?
在java中有static的静态变量,很容易就实现对象的单例了,delphi中又如何做到呢?
4 delphi中给一个单元文件里的变量给值以后,如不手动消除,这个变量的值就会一直存在吗?
3 class关键字的作用
解决方案 »
- delphi中chart画图问题的内存处理?
- Delphi 调用DLL 中窗体
- 有那位做过视频方面的滤光处理功能呀?
- memo的打印问题
- OA问题:如何将图章(bmp,jpg)插入到word中去!
- 大屏幕显示系统
- popmenu中的分隔线是怎么加的?
- 如何在ExpressSpreadSheet实行类似于CXGRID输入时的下拉框或日期选择框
- 乱码问题!用webbrower和tidhttp 取都不行,求解决
- 关于解开BPL或DPK或MAP为PAS文件的问题???
- delphi ocx控件如何才能加上编译版本号 急!!!!!!!!!!!!!!!!
- Unable to invoke Code Parameters due to errors in source code 问题
interface
uses SysUtils;type TSingleton = class
public
constructor Create; virtual;
destructor Destroy; override;
end;var
g_Singleton1: TSingleton; // 全局变量implementationconstructor TSingleton.Create;
begin
if g_Singleton1 <> nil then
abort
else
g_Singleton1 := Self;
end;destructor TSingleton.Destroy;
begin
if g_Singleton1 = self then
g_Singleton1 := nil;
inherited Destroy;
end;4.如果是对象,那你创建了就要记得销毁它.前面已经说了,对象的赋值(:=)是引用,如果源被销毁了,那它指向的地址就无效了.5.class关键字修饰procedure或function时相当于C++中的static,产生静态过程或函数,不用构造实例就可直接调用,Create就是一个例子(ABC := TABC.Create).这些东西,应该在啃书+实验中去学习,楼主加油吧.
1,5应该跟java中一样
4一直存在
2值的比较用=,equals引用比较应该是地址比较吧(不知理解对不对)delphi取地址用@
3 delphi中也有静态变量,需要编译器开关
比如:
const
{j+}
a:integer=0;
{j-}
=就是数值相等,=对指针就是地址Java没指针这个说法,Delphi就有,和C一样的Delphi没有静态变量,不能声明静态类,需要全局变量代替,或者复杂一点的Class function类方法变量有作用范围,局部变量编译器自动优化,不具备延续性Class是Object Pascal的基本语法,定义类用的,有时也是类方法,自己看书去
这都是很基础的事情来的