summaryrefslogtreecommitdiff
path: root/content/article
diff options
context:
space:
mode:
authoreltrac <hi@eltr.ac>2026-06-05 13:57:31 +0800
committereltrac <hi@eltr.ac>2026-06-05 13:57:31 +0800
commit21fd90c523af0efb586de4b36f44e5212600c12f (patch)
tree75a07e12a5e9b6f16623e9e1a2fc1533411530b1 /content/article
parent9c1569019dc10903812af8dc5976fc9b5b7fda09 (diff)
[edit/typo] 多态、封装和多态 -> 多态、封装和继承
Diffstat (limited to 'content/article')
-rw-r--r--content/article/clos.md2
1 files changed, 1 insertions, 1 deletions
diff --git a/content/article/clos.md b/content/article/clos.md
index bb0682ae..910676d3 100644
--- a/content/article/clos.md
+++ b/content/article/clos.md
@@ -11,7 +11,7 @@ fedi = 'https://akk.eltr.ac/objects/2d8c1e3d-bc2b-4696-8975-bc0aeb28ff11'
书接[上回](http://localhost:1313/article/common-lisp-start/),前一篇文章讲了 Lisp 中的基本数据结构列表的构造方式(*cons pair*),以及由此衍生出的关联列表(`alist`)和属性列表(`plist`),之后我就跑偏了,谈起了编译器和解释器中的「特例」以及宏,为什么看起来像是函数的形式实际上不是也不能是函数,最后浅谈了函数式编程和 `let` 的实现方式。
-今天的文章~~继续跑偏~~,来关注 Common Lisp 的另一部分语言特性,即面向对象编程,也借此来谈谈我对 OOP *多少有些复杂*的看法。我将逐个审视 OOP 的三大要素——多态、封装和多态——再来反思面向对象设计模式。<!--more-->
+今天的文章~~继续跑偏~~,来关注 Common Lisp 的另一部分语言特性,即面向对象编程,也借此来谈谈我对 OOP *多少有些复杂*的看法。我将逐个审视 OOP 的三大要素——多态、封装和继承——再来反思面向对象设计模式。<!--more-->
## 不属于类的多态