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 )

CLOS : Common Lisp 的面向对象支持的更多相关文章

  1. Common Lisp编译程序的小技巧

    这几天开始玩Common Lisp,遇上了一个有意思的问题,CL一般是解释运行,也有实现可以编译生成字节码(fas文件).我正在用的两种CL实现是SBCL和CLISP,前者是我从<实用Commo ...

  2. ANSI Common Lisp Practice - My Answers - Chatper - 3

    Ok, Go ahead. 1 (a) (b) (c) (d) 2 注:union 在 Common Lisp 中的作用就是求两个集合的并集.但是这有一个前提,即给的两个列表已经满足集合的属性了.具体 ...

  3. 搭建fedora开发环境 common lisp, c++, go

    第三方软件库: http://download1.rpmfusion.org/free/fedora/releases/25/Everything/x86_64/os/repoview/index.h ...

  4. Difference between LET and LET* in Common LISP

    Difference between LET and LET* in Common LISP   LET   Parallel binding which means the bindings com ...

  5. scheme和common lisp 区别

    Scheme and Common Lisp use different names for some of the basic system functions. Many Lisp program ...

  6. slime+sbcl for common lisp

    sudo apt-get install slime audo apt-get install sbcl ;;sbcl+slime for common lisp ;;sudo apt-get ins ...

  7. Common Lisp 编译器IDE环境搭建

    搭建Common Lisp编程环境的方法有很多种,这里我使用的是最常见的一种:SBCL + Emacs + SLIME. SBCL是Steel Bank Common Lisp的简称,它是Common ...

  8. 推动Common Lisp的实际应用

    推动Common Lisp的实际应用 推动Common Lisp的实际应用

  9. Common Lisp第三方库介绍 | (R "think-of-lisper" 'Albertlee)

    Common Lisp第三方库介绍 | (R "think-of-lisper" 'Albertlee) Common Lisp第三方库介绍 一个丰富且高质量的开发库集合,对于实际 ...

随机推荐

  1. 阿里云部署SSL证书

    查找中间证书 为了确保兼容到所有浏览器,我们必须在阿里云上部署中间证书,如果不部署证书,虽然安装过程可以完全也不会报错,但可能导致Android系统,Chrome 和 Firefox等浏览器无法识别. ...

  2. 3-6 merge操作

    In [1]: import pandas as pd In [6]: left =pd.DataFrame({ 'A':['A0','A1','A2','A3'], 'B':['B0','B1',' ...

  3. windows删除桌面右键“英特尔@显卡设置”

    运行中输入:regedit 确认运行注册表编辑器,依次单击展开 HKEY_CLASSES_ROOT\Directory\Background\shellex\ContextMenuHandlers键 ...

  4. src和href 如何做好seo 前端页面有那三层 AMD和CMD 规范的区别 渐进增强

    1==>简述一下src与href的区别 src用于替换当前元素: href用于在当前文档和引用资源之间确立联系 2==>.谈谈以前端角度出发做好SEO需要考虑什么? a. 了解搜索引擎如何 ...

  5. JS高阶---this对象

    this对象指向 重点:谁调用this,则指向谁 (1)案例代码: (2)分析: (3)案例2 (4)相关问题 .

  6. 交换机与MPLS

    在这一篇里面主要阐述交换机与MPLS的相似点.

  7. 201871010109-胡欢欢《面向对象程序设计(java)》第十二周学习总结

    201871010109-胡欢欢<面向对象程序设计(java)>第十二周学习总结   内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这 ...

  8. 面向对象程序设计(Java) 第6-7周学习指导及要求

    面向对象程序设计(Java)第6-7周学习指导及要求 (2019.9.29-2019.10.8)   学习目标 深入理解程序设计中算法与程序的关系: 深入理解java程序设计中类与对象的关系: 理解O ...

  9. SHELL脚本--变量

    环境变量 环境变量就是运行在"环境"上下文的,在这个上下文都可以引用.例如,常见的cd.ls等命令严格来说应该使用绝对路径如/bin/ls来执行,由于/bin目录加入到了PATH环 ...

  10. LeetCode 153. Find Minimum in Rotated Sorted Array寻找旋转排序数组中的最小值 (C++)

    题目: Suppose an array sorted in ascending order is rotated at some pivot unknown to you beforehand. ( ...