关于Delphi基础的问题,高手帮帮忙

725137 2008-09-24 02:10:53
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关键字的作用
...全文
94 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
ly_liuyang 2008-09-24
  • 打赏
  • 举报
回复
:=操作的是指针,则是地址赋值,操作的是数据,就是数据复制
=就是数值相等,=对指针就是地址

Java没指针这个说法,Delphi就有,和C一样的

Delphi没有静态变量,不能声明静态类,需要全局变量代替,或者复杂一点的Class function类方法

变量有作用范围,局部变量编译器自动优化,不具备延续性

Class是Object Pascal的基本语法,定义类用的,有时也是类方法,自己看书去
这都是很基础的事情来的
yuqianyi1974 2008-09-24
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 725137 的回复:]
都说很基础,就没一个人回答?我看这些基础题也并不简单吧
[/Quote]
不是不愿回答,delphi的机制和java确实有区别,对java又不太了解,简单说一下。
1,5应该跟java中一样
4一直存在
2值的比较用=,equals引用比较应该是地址比较吧(不知理解对不对)delphi取地址用@
3 delphi中也有静态变量,需要编译器开关
比如:
const
{j+}
a:integer=0;
{j-}

JPEXE 2008-09-24
  • 打赏
  • 举报
回复
1.Delphi的赋值操作(:=),如果是对象的话是传递指针(引用),基本类型则是值拷贝.

2.Delphi中所有对象的变量都是指针(引用),要比较对象内容(值),就自己实现这个类的比较函数.基本类型除外(可直接比较值).

3.Delphi的单态要用全局变量来实现
interface
uses SysUtils;

type

TSingleton = class
public
constructor Create; virtual;
destructor Destroy; override;
end;

var
g_Singleton1: TSingleton; // 全局变量

implementation

constructor 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).

这些东西,应该在啃书+实验中去学习,楼主加油吧.
725137 2008-09-24
  • 打赏
  • 举报
回复
都说很基础,就没一个人回答?我看这些基础题也并不简单吧
panrongzeng 2008-09-24
  • 打赏
  • 举报
回复
這些都是很基礎的語法問題,一本簡單的書上面有具體介紹,快點結貼看書去
yuqianyi1974 2008-09-24
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 budded 的回复:]
看书去,都有,为啥不看书呢?
[/Quote]
同意,这些问题不是一两句话能说清,LZ还是找一本书看看,先了解了解
budded 2008-09-24
  • 打赏
  • 举报
回复
看书去,都有,为啥不看书呢?

1,183

社区成员

发帖
与我相关
我的任务
社区描述
Delphi Windows SDK/API
社区管理员
  • Windows SDK/API社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧