[Delphi] 两种类的声明方法

说明:

 Delphi的类声明有两种方法,一种是继承了Delphi的内建类的声明,另一种则是完全自定义的类声明。

这两种类的区别不仅在于声明程序的不同,还会影响到对象实体的内存管理。

 

 1  unit Unit1;
 2 
 3  interface
 4 
 5  uses
 6    Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 7    Dialogs, StdCtrls, Buttons;
 8 
 9  type
10    TForm1  =  class(TForm)
11      btn1: TBitBtn;
12      btn2: TBitBtn;
13       procedure  btn1Click(Sender: TObject);
14       procedure  btn2Click(Sender: TObject);
15    private
16       {  Private declarations  }
17    public
18       {  Public declarations  }
19     end ;
20 
21    TMyCalss1  =  class   // 声明一个继承Delphi内建类的Class类
22    public
23      value1:Integer;
24      string1:string;
25     end ;
26 
27    TMyClass2  =  object   // 声明一个完全自定义的Object类
28    public
29      value1:Integer;
30      string1:string;
31     end ;
32 
33  var
34    Form1: TForm1;
35 
36  implementation
37 
38  { $R *.dfm }
39 
40  procedure  TForm1.btn1Click(Sender: TObject);
41  var
42    TTest1:TMyCalss1;
43  begin
44    TTest1 : =  TMyCalss1.Create;   // 必须使用其父类的构造方法
45 
46    TTest1.value1 : =   12 ;
47    TTest1.string1: =   ' 您好 ' ;
48    ShowMessage(IntToStr(TTest1.value1)  +  # 13   +  TTest1.string1);
49 
50    TTest1.Free;             // 必须使用其父类的析构方法
51 
52  end ;
53 
54 
55 
56  procedure  TForm1.btn2Click(Sender: TObject);
57  var
58    TTest2:TMyClass2;
59  begin
60 
61    TTest2.value1 : =   34 ;     // 不必使用Create的构造方法,可以直接构造该对象的实体,并且操作该对象的成员
62    TTest2.string1 : =   ' 我好 ' ;
63    ShowMessage(IntToStr(TTest2.value1)  +  # 13   +  TTest2.string1);
64 
65  end ;
66 
67  end .

转载于:https://www.cnblogs.com/dabiao/archive/2009/12/02/1615005.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值