【发布时间】:2011-04-29 02:53:27
【问题描述】:
在 Java 中,当您想要覆盖某些内容时,有时会使用 @Override。如何在 Clojure 代理中做同样的事情?
【问题讨论】:
标签: clojure
在 Java 中,当您想要覆盖某些内容时,有时会使用 @Override。如何在 Clojure 代理中做同样的事情?
【问题讨论】:
标签: clojure
代理中的每个方法都应该覆盖超类方法或接口方法,因此与可以添加新方法的 Java 类的情况略有不同。因此,如果 Clojure 提供了一种将代理方法标记为覆盖的方法,那么所有有效的代理都会为每个方法提供该注解。
不幸的是,Clojure 允许您在代理中定义一个不属于该代理覆盖的任何类或接口的方法。但是,该方法在正常使用中不可调用或访问。
【讨论】:
proxy 没有提供这样的保障。