将
interface作为关键字和神器是在Java引入1(和C#把它从那里)来描述一下合同的对象必须坚持为。
但是,接口一直是面向对象范例的关键部分,基本上它表示对象必须响应的方法。Java只是强制执行此机制以提供静态类型检查。
因此,动态(OO)编程语言 确实会 使用接口,甚至认为它们不会静态检查它们。就像其他数据类型一样,例如在Ruby中:
@i = 1;
您不必声明
i类型
FixNum就可以使用它。接口也一样,它们只是流动。折衷是,您不能对此进行静态检查,而故障仅在运行时显示。
另一方面,Go或Scala等语言使用的结构类型(或静态鸭子类型,我称其为:P)则兼具两者的优点。
1.请参阅Daniel Earwicker关于CORBA
interface关键字的评论



