除了缺少文档外,Clojure中definterface
和defprotocol
之间有什么区别?
答案 0 :(得分:12)
根据 Clojure的喜悦:
使用
definterface
优于defprotocol
的优势受到限制 完全是因为前者允许原始类型 参数和回报。在未来的某个时刻,同样的优势 可能会扩展到[通过协议]生成的接口,所以使用 除非绝对,否则definterface
谨慎而且更喜欢协议 必要的。
答案 1 :(得分:4)
我可能不完全理解是definterface
生成了一个接口.class,java代码可以实现这个接口.class,以便创建适合传递给Clojure函数的类。