2020.04.17软件构造听课笔记

<? super A>下限通配符,A及其父类
<? extends A>上限通配符,A及其子类

List<? extends Number> list,意味着list可以匹配多种类型中的一种,但并不意味着同一个list可以存放所有这些的类型,无限定通配符和下限通配符同理

委托/委派:一个对象请求另一个对象的功能
委派是复用的一种常见形式

很多设计模式将继承和委托结合使用

如果子类只需要复用父类中的一小部分方法,可以不需要使用继承,而是通过委派机制来实现
一个类不需要继承另一个类的全部方法,通过委托机制调用部分方法,从而避免继承大量的无用方法

组合是委派的一种形式
委托发生在object层面,而继承发生在class层面

通过inheritance实现对某些通用的行为的复用
缺点:需要针对“飞法”设计复杂的继承关系树;不能同时支持针对“叫法”的继承;动物行为发生变化时,继承树要随之变化

使用接口定义系统必须对外展示的不同侧面的行为
接口之间通过extends实现行为的扩展(接口组合)
类implements组合接口
从而规避了复杂的继承关系

之所以library和framework被称为系统层面的复用是因为他们不仅定义了1个可复用的接口/类,而是将某个完整系统中的所有可复用的接口/类都实现出来
并且定义了这些类之间的交互关系、调用关系,从而形成了系统整体的“架构”

API是程序员最最重要的资产和“荣耀”,吸引外部用户,提高声誉
建议:始终以开发API的标准面对任何开发任务,面向“复用”编程而不是面向“应用”编程
难度:要有足够良好的设计,一旦发布就无法再自由改变

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值