Delphi面向对象程序设计思想

学习笔记

第二章 Delphi对象模型

Delphi类类型声明语法:

Type 类名 = class (基类)

     数据成员声明;

     过程和函数声明;

     属性;

End;

 

类型定义的例子:

//一个“人”类的定义

type

  TMan = class (TObject)

  private

    FAge: Integer;

    procedure SetAge(Value: Integer);

  public

    Language: string;

    Married: Boolean;

    Name: string;

    SkinColor: string;

    constructor create(nname:string); overload;

    property Age: Integer read FAge write SetAge;

    procedure sayHello(words:pchar);

  end;

 

方法的定义:

constructor TMan.create(nname:string);

begin

  Name:=nname;

  Language:='中文';

  SkinColor:='黄色';

  FAge:=200;

  Married:=True;

end;

 

procedure TMan.SetAge(Value: Integer);

begin

  if Value<2 then FAge:=0

  else FAge:=Value;

end;

 

procedure TMan.SayHello(Words:PChar);

begin

   showmessage(words);

end;

 

一个类定义包括数据成员、方法、属性。

第二章

2、类定义的方法:静态、虚方法、抽象方法、方法的覆盖与重载:

例子:

Type

//一个类的定义

  Tmyclass=class

   procedure iams;         //定义一个静态方法

   procedure iamv;virtual; //定义一个虚方法

   procedure iamd;dynamic; //定义一个动态方法

   procedure iamva;virtual;abstract; //定义一个抽象虚方法

   procedure test(i:Integer);overload;//方法重载

  end;

  //另一个类的定义

  Tmyclass1=class(Tmyclass)

   procedure iamv;override;

   procedure iamva;override;

   procedure test(s:string);reintroduce;overload;

  end;

3、类成员的可见性:

   Private:私有成员,只能在该类的方法中被被访问;但在delphi中,同一单元的类的私有成员可以被其他类访问。

   Protected:保护成员,在其派生类中是公用的;

   Public:公共接口;

   Published:同public,可在RTTI(runtime type information)中可见。