Delphi中的结构体与类

Delphi中的结构体与类

结构体与类的概述

结构体可以看作轻量级的类。
从使用的方式上讲,结构体定义了便可直接使用,而类必须创建该类的对象才可使用。
从内存的管理上讲,结构体对内存的占用是由应用自动维护的,而类则需要手动创建该类的对象,当我们不再需要时要手动释放。

注意:相比轻量级的结构体,重量级的类可以有更复杂的功能,同时类更加地体现面向对象的思想。

结构体与类的定义

结构体与类的定义使用的关键字不同,分别是:record、class。
type
  {使用record定义一个结构体}
  MyRecord = record
    {定义结构体的属性}
    name: String;
    {定义结构体的过程}
    procedure showName;
    {定义结构体的方法}
    function getName(): String;
  end;


  {使用class定义一个类}
  MyClass = class
    {定义类的属性}
    name: String;
    {定义类的过程}
    procedure showName;
    {定义类的方法}
    function getName(): String;
  end;
结构体与类中过程与方法的具体实现
{ MyRecord }

function MyRecord.getName: String;
begin
  Result := name;
end;

procedure MyRecord.showName;
begin
  showMessage(name);
end;

{ MyClass }

function MyClass.getName: String;
begin
  Result := name;
end;

procedure MyClass.showName;
begin
  showMessage(name);
end;

end.


结构体与类的使用

procedure TForm1.Button1Click(Sender: TObject);
var
  {在此声明结构体后便可直接使用}
  mRecord: MyRecord;
  {在此声明类后还需要创建该类的对象}
  mClass: MyClass;
begin
  {操作结构体中的属性、过程、方法}
  mRecord.name :='mRecord_name';
  showMessage(mRecord.name);
  showMessage(mRecord.getName);
  mRecord.showName();

  {这里需要先创建类的对象}
  mClass := MyClass.Create();
  {操作类中的属性、过程、方法}
  mClass.name :='mClass_name';
  showMessage(mClass.name);
  showMessage(mClass.getName);
  mClass.showName();
end;



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值