1继承类的构造和析构方法type
 2继承类的构造和析构方法  TPerson = class//(Tobject)  //默认是继承 Tobject的
 3继承类的构造和析构方法  private
 4继承类的构造和析构方法    { Private declarations }
 5继承类的构造和析构方法  public
 6继承类的构造和析构方法  Name: String;
 7继承类的构造和析构方法  Tall: Integer;
 8继承类的构造和析构方法  Age: Integer;
 9继承类的构造和析构方法  WaistLine: integer;
10继承类的构造和析构方法
11继承类的构造和析构方法    { Public declarations }
12继承类的构造和析构方法  end;
13继承类的构造和析构方法procedure TForm1.Button1Click(Sender: TObject);
14继承类的构造和析构方法VAR
15继承类的构造和析构方法  APerson: Tperson;
16继承类的构造和析构方法begin
17继承类的构造和析构方法  APerson := Tperson.Create; //必须用继承 TObject的构造方法
18继承类的构造和析构方法  APerson.Name := '涂磊';
19继承类的构造和析构方法  APerson.Tall := 159;     IntToStr(APerson.Tall);
20继承类的构造和析构方法  APerson.Age := 21;
21继承类的构造和析构方法  APerson.WaistLine := 25;
22继承类的构造和析构方法  ShowMessage(APerson.Name + #13#10 + '身高= ' + IntToStr(APerson.Tall) + #13#10 + '年龄= ' + IntToStr(APerson.Age)
23继承类的构造和析构方法  + #13#10 + '腰围= ' + IntToStr(APerson.WaistLine));
24继承类的构造和析构方法  APerson.Free; //必须用 TObject的析构方法   比Aperson.Destroy要好,因为Free 彻底清除了该对象Aperson,而Destroy只是把与对象
25继承类的构造和析构方法  //属性的 链接删除,并没有清除Aperson的对象实体
26继承类的构造和析构方法end;
27继承类的构造和析构方法
28继承类的构造和析构方法procedure TForm1.Button2Click(Sender: TObject);
29继承类的构造和析构方法VAR
30继承类的构造和析构方法  AHuman: THuman;
31继承类的构造和析构方法begin
32继承类的构造和析构方法  //AHuman := THuman.Create; //没有继承 TObject的构造方法,也不能用该方法
33继承类的构造和析构方法  AHuman.Name := '涂磊';
34继承类的构造和析构方法  AHuman.Tall := 159;     IntToStr(AHuman.Tall);
35继承类的构造和析构方法  AHuman.Age := 21;
36继承类的构造和析构方法  AHuman.WaistLine := 25;
37继承类的构造和析构方法  ShowMessage(AHuman.Name + #13#10 + '身高= ' + IntToStr(AHuman.Tall) + #13#10 + '年龄= ' + IntToStr(AHuman.Age)
38继承类的构造和析构方法  + #13#10 + '腰围= ' + IntToStr(AHuman.WaistLine));
39继承类的构造和析构方法 // AHuman.Free; //也不能用该TObject的析构方法
40继承类的构造和析构方法end;
41继承类的构造和析构方法
42继承类的构造和析构方法

 字段(Field)与对象引用(object reference)的实现
 1继承类的构造和析构方法type
 2继承类的构造和析构方法  THand = class(TObject)
 3继承类的构造和析构方法  public
 4继承类的构造和析构方法    Length: integer;
 5继承类的构造和析构方法    Thick: integer;
 6继承类的构造和析构方法    Color: Tcolor;
 7继承类的构造和析构方法    { Public declarations }
 8继承类的构造和析构方法  end;
 9继承类的构造和析构方法type
10继承类的构造和析构方法  TFoot = Object
11继承类的构造和析构方法  public
12继承类的构造和析构方法    Length: integer;
13继承类的构造和析构方法    Thick: integer;
14继承类的构造和析构方法    Color: Tcolor;
15继承类的构造和析构方法    { Public declarations }
16继承类的构造和析构方法  end;
17继承类的构造和析构方法type
18继承类的构造和析构方法  TPerson = class(TObject)
19继承类的构造和析构方法  public
20继承类的构造和析构方法    LHand: THand;    //Object reference ,Class的类
21继承类的构造和析构方法    LFoot: TFoot;    //Object Instance ,Object的类
22继承类的构造和析构方法    LTall: integer;  //一般字段
23继承类的构造和析构方法    { Public declarations }
24继承类的构造和析构方法  end;
25继承类的构造和析构方法
26继承类的构造和析构方法type
27继承类的构造和析构方法  TForm1 = class(TForm)
28继承类的构造和析构方法    Button1: TButton;
29继承类的构造和析构方法    Label1: TLabel;
30继承类的构造和析构方法    Label2: TLabel;
31继承类的构造和析构方法    procedure Button1Click(Sender: TObject);
32继承类的构造和析构方法  private
33继承类的构造和析构方法    { Private declarations }
34继承类的构造和析构方法  public
35继承类的构造和析构方法    { Public declarations }
36继承类的构造和析构方法  end;
37继承类的构造和析构方法procedure TForm1.Button1Click(Sender: TObject);
38继承类的构造和析构方法VAR
39继承类的构造和析构方法  tulater: TPerson;
40继承类的构造和析构方法begin
41继承类的构造和析构方法  tulater := TPerson.Create;
42继承类的构造和析构方法    tulater.LTall := 180;
43继承类的构造和析构方法
44继承类的构造和析构方法    tulater.LHand :=  THand.Create;    //对象引用(Object reference )
45继承类的构造和析构方法    tulater.LHand.Length := 100;
46继承类的构造和析构方法    tulater.LHand.Thick := 6;
47继承类的构造和析构方法    tulater.LHand.Color := clYellow;
48继承类的构造和析构方法
49继承类的构造和析构方法    tulater.LFoot.Length := 130;
50继承类的构造和析构方法    tulater.LFoot.Thick := 8;
51继承类的构造和析构方法    tulater.LFoot.Color := clBlue;
52继承类的构造和析构方法    label1.Color := tulater.LHand.Color;
53继承类的构造和析构方法    label2.Color := tulater.LFoot.Color;
54继承类的构造和析构方法    ShowMessage(
55继承类的构造和析构方法                ' tulater ' + #13 +
56继承类的构造和析构方法                ' 身高 = ' + IntToStr(tulater.LTall) + #13 +
57继承类的构造和析构方法                ' 手长 = ' + IntToStr(tulater.LHand.Length) + #13 +
58继承类的构造和析构方法                ' 手粗 = ' + IntToStr(tulater.LHand.Thick) + #13 +
59继承类的构造和析构方法                ' 脚长 = ' + IntToStr(tulater.LFoot.Length) + #13 +
60继承类的构造和析构方法                ' 脚粗 = ' + IntToStr(tulater.LFoot.Color) + #13 
61继承类的构造和析构方法                );
62继承类的构造和析构方法    tulater.LHand.Free;       //对象解除引用
63继承类的构造和析构方法  tulater.Free;
64继承类的构造和析构方法end;
65继承类的构造和析构方法
66继承类的构造和析构方法

相关文章: