软件构造期末复习3

这是软件构造的最后一篇博客了,明天就要考试了,祝自己有个好成绩吧。

第九章:面向复用的软件构造技术

1.面向复用编程:为了开发出可复用的软件。

基于复用编程:利用可复用的软件搭建应用系统

2.LSP

子类型多态:客户端可用同一的方式处理不同类型的对象

LSP的内容

(1)子类型可以增加方法,但不可删除

(2)子类型需要实现抽象类型(接口,抽象类)中所有未实现的方法

(3)子类型中重写的方法必须有相同或子类型的返回值,或者符合co-variant的参数

(4)子类型中重写的方法必须使用同样类型的参数,或者符合co-variant的参数

(5)子类型中重写的方法不能抛出额外的异常

简单记为:

更强的不变量;

更弱的前置条件;

更强的后置条件

3.协变

父类到子类:越来越具体

返回值类型:不变或者更具体

异常的类型:不变或者更具体

逆变与协变相反

4.通配符

无限制通配符

下限通配符<? super A>

上限通配符<? extends A >

5.委托

一个对象请求另一个对象的功能

如果子类只需要复用父类的一小部分方法,可以不需要使用继承,而是通过委托机制来实现

委托发生在object层面,继承发生在class层面

6.白盒框架和黑盒框架

白盒框架主要利用继承实现

黑盒框架主要利用委托组合实现。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值