软件构造(六) 抽象数据类型 (ADT)

1.抽象和用户定义类型

除了编程语言自带的数据类型,用户也可以自定义数据类型

抽象类型(Abstract types)关注于操作,用户不必担心它的值是如何实际存储的,重要的是功能

一个抽象类型被它的操作所定义,与其内部如何实现无关

2.分类类型和操作

抽象数据类型(ADT)的操作可以分为几类:

  • 构造器(Creators): 从无到有,构造一个对象的方法。构造器可以将对象作为参数。 t* → T
  • 生产器(Producers): 从旧的对象中产生一个新的对象。
    T+, t* → T
  • 观察器(Observers): 返回对象的一些信息。 T+, t* → t
  • 变值器(Mutators): 改变对象属性的方法。
    T+, t* → void | t | T

T是抽象类型
t是另一种类型
+表示该类型可能出现一次或多次
*表示出现了零次或多次

3.设计ADT

良好的ADT设计满足:

  • 设计简洁、一致的操作,通过简单行为的组合实现复杂的操作
  • 要足以支持client对数据所做的所有操作需要,且用操作满足client需要的难度要低。确保每个属性都能被客户端访问,对于复杂的操作
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值