Delphi 类的声明


本文整理自网络,侵删。

 
在Delphi中,类被当作一个类型来定义。其语法格式:
    type 类名=class(基类)
      {字段声明}
      {方法声明}
      {属性声明}
    end;

    1、Delphi面向对象程序设计,要求对象都由某个基本对象继续而来,即由Class指定父对象。Delphi约定最基本的类是TObject,编程中我们所有的对象声明都是由TObject或由TObject派生的对象继承而来。如:

  Type TPerson = class(TObject)   // 从基类TObject继续声明人员类
   public           
      Name:string;                 // 姓名
      function GetAge:Integer;     // 获取年龄 
    private
      Age:integer;                 // 年龄
    end;
    
  注意:关键词class后的(TObject)可以省略。如:Type TPerson = class与Type TPerson = class(TObject)等效。

  Type TEmployee = class(TPerson)   // 从人员类继续,声明职员类
   public
      Salary:integer;                  // 薪金
      DaptName:string;                 // 部门名称 
      procedure Infor;                 // 显示职员信息
      procedure SetSalary(A:Integer);  // 设置薪水
    end;

    2、由TObject继承派生的对象,默认构造函数、析构函数。上述对象TPerson、TEmployee的构造函数、析构函数分别为Creat()和Destroy()。如果要在对象中定义构造函数,要使用关键词constructor。如果要在对象中定义析构函数,要使用关键词destructor和override。如:

  Type TCustomer = class(TPerson)     // 从人员类继续,声明顾客类
   public
      AddressName:string;              //     
      procedure Infor;                 // 显示职员信息
      constructor Creat(Str:string);   // 设置薪水
      destructor Destroy:override;     // 设置薪水
    end;

   3、对象数声明的属性读和写,以及方法(内部的函数、过程),必须在Unit的实现部分(implementation)详细表述。

    function TPerson.GetAge:integer;
    begin
      Result:=Age;
    end;

    procedure TEmployee.Infor;
    begin
      Writeln('姓名',Name,'年龄',GetAge,'部门',DaptName,'薪水',Salary)
    end;

    constructor TCustomer.Creat(Str:string);
    begin
      inherited;               
      Writeln('顾客类的构造函数');
      AddressName:=Str;
    end;

    destructor TCustomer.Destroy;
    begin
      Writeln('姓名:',Name,'的顾客对象被删除');
      inherited Destroy;
    end;
    4、Delphi的每个类的根类都是TObject,如果不指明一个明确的基类,Delphi将自动使用TObject作为基类。例如:
    TMyObject=class                       //   默认基类为TObject
      provate
      .... 
      public
      ...
    end;
――――――――――――――――

原文链接:https://blog.csdn.net/lyhoo163/article/details/5120755

相关阅读 >>

Delphi百度地图经纬度与地址互转

Delphi edit呈横线效果

Delphi edgebrowser1 浏览器实现控制滚动条

Delphi listbox批量选中转移或删除

Delphi 网络时间校对

Delphi 批量生成 a到z 字母

Delphi 2010 fastmm 内存泄露使用方法

Delphi 获取其他进程句柄的几种方法

Delphi ado组件动态连接access数据库

Delphi直接插入法排序示例

更多相关阅读请进入《Delphi》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...