我用引入、(virtual/override/)覆盖、overload(重载)这三种方式分别试着在子类中写了相应的过程,通过调用好像得到的结果都一样,那么这些到底又有什么区别呢?在什么情况下必需用到以上的哪一种呢?求助各位仁兄!!
以下是我的例子:
//(1)---引入
  type
    TA=class
      value:Integer;
      function test(var i:integer):integer;
    end;
    TB = class(TA)
      value:String;
      function test(var i:integer):Integer;
    end;
//(2)---覆盖
  type
    TA=class
      value:Integer;
      function test(var i:integer):integer;virtual;//在什么时侯必需要用?
    end;
    TB = class(TA)
      value:String;
      function test(var i:integer):Integer;override
    end;
注:我最不清楚的就是(1)(2)的用法
//(3)---重载
  type
    TA=class
      value:Integer;
      function test(var i:integer):integer;
    end;
    TB = class(TA)
      value:String;
      function test(var i:integer):Integer;overload
    end;