override与overload是什么意思,有什么区别啊!!(20分)

  • 主题发起人 主题发起人 sjdelphi
  • 开始时间 开始时间
S

sjdelphi

Unregistered / Unconfirmed
GUEST, unregistred user!
我想问override与overload是什么意思,有什么区别啊!!在DELPHI中怎样样。最好是能有个例子在上面,谢了!!!
 
看看关于java的书籍,就知道了。
 
两个函数同名但参数不同时使用overload以使系统承认它们是合法的。
而override只用于类方法中,当子类继承了父类的同名同参数方法时使用
override.(当然父类的方法必须有virtual说明)。如果在写子类方法中不用
override说明,则在把子类对象作为父类类型调用时就会调用父类的方法而不是
你想要的子类的方法,举个例子
type
classa = class
public
function aaa:integer
virtual
//function 1
...
end;

classb = class(classa)
...
function aaa:integer
override
//function 2
end;
...
var
c1: classa;
i: integer;
begin
c1 := classb.create;
i := c1.aaa;
edit1.text := inttostr(i);
end;

注意到,上例中c1.aaa调用的是function 2,如果没有override则是
调用的function 1.
 
http://www.delphibbs.com/delphibbs/DispQ.asp?LID=296739
 
接受答案了.
 
后退
顶部