Unit 3:面向对象与状态

局部状态、类与继承、环境模型与环境图、可变数据与向量,以及延迟求值的流。

本单元引入”状态”:有了赋值,对象便有了随时间变化的身份。先学习面向对象编程(类、继承、多父类、初始化),再下探到表层之下——用环境模型解释对象的本质;随后处理可变列表结构、队列、表与向量;最后学习流,用延迟求值驯服无穷序列。

本章节目录

  • 第 7 章 面向对象编程 —— 局部状态、类、继承、三类局部状态变量、初始化与默认值、显式调用父类方法、多个父类。
  • 第 8 章 赋值、状态与环境 —— 局部状态变量、求值的环境模型、环境图的画法,以及对象在表层之下的实现。
  • 第 9 章 可变数据与向量 —— set-car! 与 set-cdr!、共享与同一性、队列与表的表示、向量。
  • 第 10 章 流 —— 流作为延迟的列表、无穷流、用流做迭代、流的交错与序对无穷流。
  • 项目 3:冒险游戏 —— 以面向对象的方式构建一个文字冒险游戏,两人结对完成。

提示

建议按顺序学习;每一课(Lesson)以导言开始、以作业(Homework)收尾,中间各节可按需反复阅读。