我用引入、(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;
以下是我的例子:
//(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;
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货