220 words
1 minute
scheme-2.1.2
2026-08-03

Some information may be outdated

Abstraction Barrier#

数据抽象的基本思想就是为每一类数据对象标识出一组操作,使得对这类数据对象的所有操作都可以基于它们的表述,而且在操作这些数据对象时也只使用它们。

  • 定义一个新数据 ---> 有理数
  • 定义三个接口,make-rat,numer,denom。有关有理数的所有操作都只能用这几个接口来实现,面不能越级使用cons,car,cdr来实现。
---------------- 使用有理数的程序 ----------------
问题域中的有理数
---------------- add-rat,sub-rat... -------------
作为分子和分母的有理数
---------------- make-rat,numer,denom ------------
作为序对的有理数
---------------- cons,car,cdr --------------------
  • 上层不用知道下层是怎么实现的,直接使用接口拿来用就可以。无论接口的内部怎么改变,对外的接口不变,它的改变完全不会影响上层的应用。
scheme-2.1.2
https://www.infini.cv/posts/scheme/scheme-212/
Author
infini
Published at
2026-08-03
License
CC BY-SA 4.0