delphi学习点--滴实例化对象

 在当前的计算机操作系统中,任何软件运行都需要一个内存块,也就是生存空间。同样,对象也要。要让一个类的对象为我们工作之前,需要为他分配一个内存空间并创建它,这也是和其他的数据类型不一样的地方:

var
  i: Integer;      //定义一个整形变量i
  s: TStringList; //定义一个TStringList类的对象s
begin
  i:= 0;
  { 这是对的,因为当定义了一个int类型(简单类型)的变量后,
    编译器会自动为你这个变量分配内存空间 }
  s.LoadFromFile(...);
{ 错误,因为定义这个对象前,还没有为他创建内存空间,
    直接这样执行会引起一个内存错误 }
end;

正确的方法应该是,在使用类的对象前,要显示的调用类的构造方法:

使用如下代码:
  s:= TStringList.Create;

或许有朋友会说,为什么不是s.Create呢?那是因为,在执行这条代码前,还没有为s分配内存空间,是不能访问他内部的数据成员的。因为类是抽象存在的,所以在编译器为你的代码打包成可执行文件后,TStringList在内存中已经存在了。当然这种“类名.方法名”的调用方式只能用在类(静态)方法上,而类的构造器的入口则是必须静态存在的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值