• 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方法)类中的属性.

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

    在这里插入图片描述

    在这里插入图片描述

  • 相关阅读:
    leetcode Remove Nth Node From End of List
    leetcode Plus One
    leetcode climbing stairs
    leetcode Merge Two Sorted Lists
    leetcode Maximum Subarray
    leetcode Binary Tree Level Order Traversal I II
    leetcode Pascal's Triangle II
    leetcode pascal's triangle
    leetcode valid parentheses
    leetcode Path Sum
  • 原文地址:https://www.cnblogs.com/lee3258/p/11997790.html
Copyright © 2020-2023  润新知