• 父类virtual和overload,子类reintroduce; overload;


    如果函数在父类中既是虚拟方法也是重载方法,那么:
    TBase=class(TObject)
    function DisappearRoutinel: String; overload; virtual;
    function DisappearRoutinel(const sName: String): String; overload; virtual;

    派生类需要reintroduce关键字:
    TDerived = class(TBase)
    function DisappearRoutinel: String; reintroduce; overload;
    function DisappearRoutinel(const sName: String): String; reintroduce; overload;

    如果TDerived类不使用reintroduce关键字,那么Delphi就会给出警告,即覆盖了父类的函数。

    注意,构造函数也要标记overload
    constructor Create(const sName: String); overload;
    constructor Create(const sName: String); const cHash: Cardinal); overload;

     注意,父类即使只有一个函数也可overload virtual; 而子类不管增加多少个同名,都需要reintroduce; overload;

  • 相关阅读:
    第三次上机作业
    第二次实训作业
    java第二次作业
    java程序设计第一次作业
    实训作业1
    java2
    我的第一次java作业
    第六次实训作业异常处理
    事件处理程序
    实训作业4
  • 原文地址:https://www.cnblogs.com/findumars/p/3237369.html
Copyright © 2020-2023  润新知