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 )

相關文章
相關標籤/搜索