Clojure中面向对象的编程方式,Multimethods和hierarchy
multimethod这时尝试寻找关联dispatching值或者从dispatching值派生的方法,如果一个函数被defmethod定义,这个函数将被调用。clojure倾向于创建一个大的方法库,方法库中只有一个小的类型集合。clojure通过Multimethods来实现复杂的运行时多态,该系统支持调度一个或多个参数的类型、值、属性和元数据以及它们之间的关系。这段代码需要注意的是:Shape也是一个函数,返回一个Map中的键为:Shape的值。最后来一段clojure实现的面向对象的数据结构。
原创
2023-07-04 16:11:14 ·
126 阅读 ·
0 评论