zoukankan      html  css  js  c++  java
  • 访问受保护的属性

    偶尔翻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 ,那就无能为力了。

  • 相关阅读:
    实用产品规划
    产品经理对用户的调研
    产品经理用户研究
    竞品分析方案
    产品竞品分析
    Mybatis Plus
    shiro
    Spring cloud
    Spring Boot
    Redis入门(二)
  • 原文地址:https://www.cnblogs.com/jankerxp/p/7774028.html
Copyright © 2011-2022 走看看