《Mastering Delphi 6》学习笔记之五

本文介绍了在Delphi中如何访问protected变量,以及virtual和override关键字的使用规则和区别。通过示例展示了如何通过TFake类访问TTest的protected变量,同时解释了virtual和override在多态中的作用。文章还讨论了dynamic方法的特点,以及与virtual的权衡。此外,提到了Delphi中abstract方法的特殊行为和在不同版本中的变化。
摘要由CSDN通过智能技术生成
《Mastering Delphi 6》 学习笔记之五

 

在某个类中用protected声明的变量,在本单元之外是不能够随意访问的(通过声明子类才可以访问其protected域)。《Mastering Delphi 6》中提到了一个不常用的技巧:

// Unit2

type TTest = class

  protected

   protectedVar : integer;

end;

 

// Unit1

type

  TFake = class(TTest);

 

procedure TForm1.FormCreate(Sender:TObject);

var

  Test : TTest;

begin

  Test := TTest.Create;

  // Test.protectedVar := 1;  // not work!

  TFake(Test).protectedVar := 1;  // This works!

  Test.Free;

end;

 

当然了,你也可以向TFake添加代码来实现同样的功能,但是上述方法的好处在于只需要一个占位符,而不需要为修改一个变量而大动干戈的派生一个类。在实际中这个技巧很少会用到,不过既然作者提到了,还是记以备考.

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值