CLOS : Common Lisp 的面向对象支持

1.  defclass   ( :accessor/reader/writer ;   :initarg  ;  :initform函数

2. defgenericspa

3. defmethodorm

--------------对象

1. 多重继承时的优先级(相似Ruby中的Ancestor Chain)继承

2. 面向对象的两种模型: it

    ①  obj. method (args)   ——  Java,C++io

    ②  obj.send (method, args)   === send (obj , method ,args)  —— Ruby对此支持form

    ③   method (obj, args) ———— 广义函数,Lisp和Haskell都是这种 。 Lisp能够把特化到多个类型class

3. 面向切面AOP支持  sso

     :before  :after   :around

4. 组合机制( combination )

    ???  支持多个组合符,能够把全部主方法的结果组合起来

    call-next-method : 至关于super

5. 支持 singleton-method (Ruby术语), 即:只为一个特定的instance定义方法。


包机制(package)

和 Haskell的包机制很是类似。

能够控制只导入外部包中的某些符号、只导出本包中的某些符号;

如何处理不一样包内的命名冲突 (Haskell 用 as )

相关文章
相关标签/搜索