2011-10-24 50 views
2

我对Delphi的接口有点困惑,所以我问你这个问题。一个接口可以与一个抽象类“关联”(它不会实现在其上声明的方法)。所有在其上声明的方法都是在实现接口的类/类中实现的。德尔福 - 接口和过载指令

那么,为什么然后允许在接口的方法声明上有过载指示?

type 
IFoo = interface 
    function Test : String; overload; 
end; 

编译器对此很安静。

+0

-1。我不明白你的前两个接口声明与你的问题有什么关系。是的,接口与类关联,是的,类实现接口的方法。为什么你认为这两种方法都与在接口方法中使用'overload'有关?请澄清你的问题。 –

+0

此外,您对“可见性操作员”有何意义? –

+0

我希望现在的问题更清楚。 – RBA

回答

9
  1. overloaded允许在单个类/接口中使用几个相同的命名方法,但具有不同的参数集。
  2. 您的界面有Test方法。使用这种单一方法,不需要overloaded。但是,如果需要,可以引入具有不同参数集的附加Test方法。
  3. 也许您正在考虑override指令...
+0

覆盖指令不能放在接口的方法声明中。 +1的答案 – RBA

+0

是的,因为没有什么可以重写:) –