zoukankan      html  css  js  c++  java
  • delphi助手类

    delphi助手类

    DELPHI2005及以上版本开始支持助手类。

    用途:当我们想给一个类增加一个方法或者成员变量,但是这个类又被很多单元引用了,我们直接去该这个类,肯定是很不明智的,怎么办?

    如果是类,继承一下就OK了。但是如果是结构体呢?其实这个关键更像是为结构体准备的。

    限制:类别助手最明显的限制,就是我们每次对一个类别只能使用一个助手(保证其唯一性)。

    如果编译程序发现了有两个助手类别,第二个助手类别就会把第一个给取代掉。所以也没有任何方法可以对类别助手进行连锁使用,也就是说我们不能对类别助手再制作另一个类别助手。

    Type
    TMyClass= Class
    Procedure MyProc;
    Function MyFunc: Integer;
    End;
    .. .
    Procedure TMyClass.MyProc;
    Var
    X: Integer;
    Begin
    X:= MyFunc;
    End;
    Function TMyClass.MyFunc: Integer;
    Begin
    .. .
    End;
    接下来就是它的助手类了.
    Type
    TMyClassHelper= Class Helper For TMyClass
    Procedure HelloWorld;
    Function MyFunc: Integer;
    End;
    .. .
    Procedure TMyClassHelper.HelloWorld; //添加的新方法
    Begin
    Writeln(Self.ClassName);
    End;
    Function TMyClassHelper.MyFunc: Integer; //覆盖原方法
    Begin
    .. .
    End;
    使用:
    Var
    X: TMyClass;
    Begin
    X:= TMyClass.Create;
    X.MyProc; // 调用TMyClass.MyProc
    X.HelloWorld; // 调用 TMyClassHelper.HelloWorld
    X.MyFunc; // 调用TMyClassHelper.MyFunc
    End.
    

      

  • 相关阅读:
    一个封装好的滚动js类 效果很多 兼容也比较好
    a标签超链接点击后无虚边框
    添加测试数据时的优化
    select 友情链接
    jquery 团购倒计时
    [JZOJ 5129] 字符串
    [JZOJ 5810] 简单的玄学
    [JZOJ 100025] 棋盘
    [JZOJ 5600] Arg
    [luogu 4389] 付公主的背包
  • 原文地址:https://www.cnblogs.com/hnxxcxg/p/14088847.html
Copyright © 2011-2022 走看看