[Delphi] 两种类的声明方法

本文介绍了Delphi中的两种类声明方式:继承内置类和完全自定义类。通过实例对比了这两种类的创建、使用及销毁过程,强调了它们在内存管理上的不同。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

说明:

 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、付费专栏及课程。

余额充值