zoukankan      html  css  js  c++  java
  • CLOS : Common Lisp 的面向对象支持

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

    2. defgeneric

    3. defmethod

    --------------

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

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

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

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

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

    3. 面向切面AOP支持  

         :before  :after   :around

    4. 组合机制( combination )

        ???  支持多个组合符,可以把所有主方法的结果组合起来

        call-next-method : 相当于super

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


    包机制(package)

    和 Haskell的包机制非常相似。

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

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

  • 相关阅读:
    xtrabackup
    spark对机器的要求
    hbase的总结
    TO B公司高效能的组织建设实践
    如何给客户展示实力
    什么样的IT队伍是好队伍
    程序员如何使用OKR
    云原生
    Flink 的18个小知识点
    apt 常用命令
  • 原文地址:https://www.cnblogs.com/nanlan2017/p/9672358.html
Copyright © 2011-2022 走看看