软构随笔笔记(6)

自己复习看的 内容不严谨
***明天就考试了 其实不会的还是非常之多以至于我都不知道这篇复习哪个好

简述LSP

如果对每一个类型为T1的对象o1,都有类型为T2的对象o2,使得T1定义的所有程序P在所有的对象o1都代换成o2时,程序P的行为没有变化,那么类型T2是类型T1的子类型。

  • 对子类型和其中方法的要求:
    • 只能增加方法
    • 需要实现抽象类中方法
    • 返回值要类型相同/子类型/协变
    • 参数要相同/反协变
    • 异常类型协变,且不能抛出额外异常
    • 前置条件不能强化
    • 后置条件不能弱化
    • 不变量保持

ADT的几个属性

  • RI-表示不变量,REP必须满足的条件
  • AF是从抽象空间A到表示控件Rep的映射
  • 实现者看R,就算immutable其实rep也可以改,而客户看到的是A,R到A只能保证是满射
  • 同一个表示空间可以有不同的RI,即使是同一R和RI也可能有不同AF,即解释不同
  • Rep Exposure表示泄露,一般应对方法就是尽量都用private和final修饰权限,尽量用immutable类型
  • 防御式拷贝,不仅传出去时候拷贝,传进来也拷贝。(有的对象式数据类型,他初始化只是确定了内部rep也指向那个东西,但要是那玩意之后在外面改变了会引发意想不到的错误)

ADT有四种操作

  • creater:new
  • producer:getSub
  • observer:contains
  • mutator :add

正则表达式

这部分内容主要形式语言自动机已经学过了,在软构中只需要了解形式的规格就可
所以我就选取了课件中能让人看一眼就想起来精髓的部分直接放这了

  • 基本语法请添加图片描述
  • 派生树请添加图片描述
  • markdown和HTML(同理)
    请添加图片描述
  • 简写字符集请添加图片描述
  • 转义符
    请添加图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值