|
|
1
10
动态语言经常鼓励 Duck Typing ,其中,对象的方法决定了应该如何使用它,而不是显式契约(如接口)。 |
|
|
2
4
因为您可以在动态语言中对任何对象调用任何方法,所以我不确定接口如何以任何真正有用的方式发挥作用。没有要强制执行的契约,因为所有内容都是在调用时确定的——对象甚至可以在整个运行时添加和删除方法时,在其生命周期中更改它是否符合“契约”。如果对象不履行合同,则调用将失败;如果对象不实现成员,则调用将失败——对于大多数实际用途,这两种情况都是相同的。 |
|
|
3
3
这对于PHP也是一样的;您不需要真正的接口。但它们的存在是为了建筑需求。在PHP中,可以为函数指定类型提示,这些提示很有用。
第二,接口是契约。这是一份正式合同,
此接口中的所有对象都具有这些函数
. 最好确保类满足这些要求,而不是记住:“
嗯,这个班有
|
|
|
4
2
我们在下面的页面中看到了一个很好的实现,这是我们的(它的简短版本)
整个示例位于: http://www.javascriptbank.com/how-implement-interfaces-in-javascript.html |
|
|
5
0
接口的另一个替代方案是 bob.js : 1。检查接口是否实现:
2。从对象中提取接口并仍然正确执行函数:
|
|
EarthTurtle · 调整泛型抛出迭代器的异常类型 2 年前 |
|
wallop · 实现必须明确提及所有接口字段,还是可以跳过它们? 2 年前 |
|
|
Reelie · C#11-通过抽象类在接口中静态抽象成员? 2 年前 |
|
Addem · 在OCaml签名中放入类型声明的正确方法是什么 2 年前 |