软件构造复习:ADT的理论与实现

问题1:什么是ADTbr> “Abstract Data Type”的简写,抽象数据类型,具有表示泄露,抽象函数AF,表示不变量RI
抽象类型:强调“作用于数据上的操作”,程序员和 client无需关心数据如何具体存储的,只需设计/使用操作即可
AF:一个函数关系,表示该值如何映射到抽象空间中的值
RI:选择某种特定的表示方式R,进而指定某个子集是“合法”的
设计ADT:
(1) 选择R和A;
(2) RI — 合法的表示值;
(3) 如何解释合法的表示值 —映射AF 做出具体的解释:每个rep value如何映射到abstract value
问题2:如何确保R不变
在运行中利用checkrep()判断R是否始终满足条件,可以提早找到程序的bug。
问题3:immutable和mutable的使用
immutable类型可以使得数据不会因为任何情况下发生修改,例如用户的用户名,密码等不会改变的信息,但是相比mutable类,使用起来会稍微笨重,效率较低。
mutable:通过牺牲immutability的部分原则来换取“效率”和“性能”
问题4:一个完整的ADTbr>

软件构造复习:ADT的理论与实现有RI,AF和对于如何处理可能存在的表示泄露(用private,对于mutable类向外传递一个复制的类确保原类不会被修改)
问题5:ADT的具体实现
用OOP/接口/类实现ADT

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2019年5月21日
下一篇 2019年5月21日

相关推荐