您的位置:首页 > 其它

访问受保护的属性

2016-07-24 17:03 225 查看
偶尔翻Marco Canto的书,看到这个小技巧,记下来,老是忘记这个小技巧。

比如要访问TDBGrid的Col和Row属性,这两个属性是Protected,一般不能直接访问,可以这样加个套:

type

TFakeDBGrid = class(TDBGrid);

然后:TFakeDBGrid(dbgrid1).Col; TFakeDBGrid(dbgrid1).Row;

还有TControl的Text属性,大部分控件隐藏了或者改名为Caption

type

TFakeControl = class(TControl);

TFakeControl(Button1).Text;

不过这样做,明显破坏了对象的封装,尽量少用。

注意:在哪个单元用,就得在那个单元声明TFake,才能访问保护属性,这是利用了DELPHI对于private和protected对于同单元可见特性。

但是现在版本有strict private和strict protected ,那就无能为力了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: