AF RI和checkRep

AF 即抽象函数, RI 即表示不变性

抽象函数(Abstraction Function)

抽象函数为表示值空间到抽象值空间的一个映射

在这里插入图片描述

R:面向实现的表示值空间

A:面向规格说明的抽象值空间

R ==>A 一定是满射,但不一定是单射.

抽象函数即一个R到A的映射: AF : R → A

表示不变性(Repretation Invariance)

"表示"即ADT中的各个属性;
而表示不变性即这些属性必须保持的性质,如年龄不能为负数, 概率不能大于1.

在这里插入图片描述

在这里插入图片描述

检查不变性(checkRep)

检查不变性就是确定RI是否还成立.
在实现中采用断言技术assert来检查不变性是否保持,可以更早地捕获bug

56006478520

应该在所有有create 和mutate方法的最后进行checkRep();

在这里插入图片描述
注意: Rep中不应该接受null. checkRep()中也应该检查是否为null.

AF RI 在文档中

AF 、RI 、表示泄露放在属性与方法之间.

表示泄露: 指的是外部代码能直接改变(不借用类中的mutator方法)类中的属性.

对表示泄露安全相关的参数,特别是输入参数和返回值,给出保证不泄露内部表示的策略。

在这里插入图片描述

在这里插入图片描述

posted @ 2019-06-19 00:17  lee3258  阅读(432)  评论(0编辑  收藏  举报