jua*_*oli 1 java clojure subclass
我正在学习Clojure,我想知道如何在Clojure中处理类似OO的子类.例如:一个主抽象类,两个抽象子类(每个都重新定义了一些函数),在第三层中,创建了将在函数中使用的"对象"的最终子类.不知道如何做到这一点.但是,我设法用一个抽象类来创建一个子类,使用defprotocol和defrecord.但是我无法在另一个内部实现协议.谢谢
您不需要类或子类.将您的数据表示为具有属性的地图."子类"可能具有更多属性.
如果你的函数在属性上有所不同,那么要么使用基于属性的条件逻辑(if,cond等),要么根据多方法或协议使用多态,如果你真的需要的话.
用黑客的话说,没有勺子.