zoukankan      html  css  js  c++  java
  • 理解 Delphi 的类(十一) 深入类中的方法[2] 关于覆盖与重定义

    //标准的覆盖是这样的
    TBass = class
      procedure Proc; virtual; {或用 dynamic}
    end;
    
    TChild = class(TBass)
      procedure Proc; override;
    end;
    
    //以下几种情况属于重定义, 其中例 3-5 还会有编译提示 {例1} TBass = class procedure Proc; end; TChild = class(TBass) procedure Proc; end; {例2} TBass = class procedure Proc; end; TChild = class(TBass) procedure Proc; virtual; end; {例3} TBass = class procedure Proc; virtual; end; TChild = class(TBass) procedure Proc; virtual; end; {例4} TBass = class procedure Proc; virtual; end; TChild = class(TBass) procedure Proc; end; {例5} TBass = class procedure Proc; virtual; end; TChild = class(TBass) procedure Proc; dynamic; end; {上面这五种情况我们尽量不要使用}
    //方法重定义时, 避免编译提示的办法 {办法1: 使用 reintroduce 指示字} TBass = class procedure Proc; virtual; end; TChild = class(TBass) procedure Proc; reintroduce; end; {办法2: 使用编译器指令} TBass = class procedure Proc; virtual; end; {$WARNINGS OFF} TChild = class(TBass) procedure Proc; virtual; end; {$WARNINGS ON}
  • 相关阅读:
    mysql 系列文章推荐
    文章推荐
    LeetCode 229: Majority Element II
    archlinux安装ssh,并启动服务 | 繁华的森林
    小程序之登录
    owasp top10
    JAVASE学习笔记—009 异常处理
    Spring学习笔记:Bean的配置及其细节
    Vim编码识别及转换
    理解 Java 中的类装载器
  • 原文地址:https://www.cnblogs.com/del/p/1041168.html
Copyright © 2011-2022 走看看