软件构造课程总结(3)

软件构造课程总结(3)

这里是HIT2021软件构造课程的总结博客,主要书写了本学期软件构造的所有课程内容和实验内容。

第六章、ADT

1.表示独立性:通过封装来阻止用户访问程序内部
2.抽象函数AF
3.表示不变量RI
4.数据抽象:强调作用于数据上的操作,在java中使用类的方法
5.可变数据类型和不可变数据类型:改变时,前者改变内存中数值,后者构造一个新对象
6.四种方法:creators、producers、observes、mutators
7.creators:构造函数或者静态函数,或者工厂方法
8.mutators:通常返回void
9.int是immutable没有构造器mutators,而String是immutable所以也没有构造器mutators
10.list是mutable,存在构造器mutators,比如add()
11.抽象类型设计
Ⅰ.简洁一致的操作
Ⅱ.面向用户需求,满足所有需要且尽量简洁
Ⅲ.要么抽象要么具体。
12.表示独立性
内部实现对与用户无关
例子:MyString
要点:不能让用户访问到类体(使用private表示、observers使用保护式拷贝)
13.测试ADT
同样是测试四个部分:creators、producers、observes、mutators
主要测试返回值和操作结果
14.不变量
程序中始终保持不变的属性,比如一个家庭类当中,人数总是大于0的。
15.RI(Rep Invariant)
开发者关注R,client关注I
三种关系:满射、非单射、非双射
AF:抽象函数,R到A的映射
R中存在非法值,这时在A中无映射
RI中元素合法的子集
16.AF
一个R到A的映射
总结一下RI和AF:RI是输入的约束条件,AF是输入到输出的函数

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值