0616 作业 2

发布于: 2020 年 06 月 17 日

学习了面向对象编程的历史和各种语言的结构特点,

通过模型抽象领域问题,通过模型进一步设计,进行软件开发得到软件系统。

对象具有状态,行为,标识。

面向对象编程3要素

封装,继承,多态

学习了框架和工具的区别

框架调用应用程序,应用程序调用工具。

不好的代码具有怎样的特点。

僵硬,脆弱,牢固性,粘滞性

如何重构代码。

代码具有面向扩展开放,面向修改关闭。尽可能适应需求变更。

改进button 观察者模式

在被观察者里持有观察者List。

addListener加入观察者

press的时候for循环观察者List。执行观察者方法。

依赖倒置原则,依赖于抽象,抽象不能依赖底层实现,而是实现依赖抽象。

接口调用关系。接口相互调用由调用者还是提供者定义接口?

由调用者提供接口调用更合理。调用方是上层,被调用方是底层。根据依赖倒置原则。

上层定义了依赖抽象接口。被调用者实现底层接口。

框架负责定义好接口,框架使用者填写接口的具体实现。程序启动的时候。框架调用使用者编写的代码。达到约束规范使用者的目的(使用者不能超出框架定义的接口范围)。

里氏替换原则。在使用父类的场合,也可以使用子类替换。如果不能则违反了该原则。

子类只能比父类提供更宽泛的接口,不能提供更约束更小的接口

例如 :父类定义了方法为protected,子类可以使用protected,public。不能使用private

子类抛出的异常是父类抛出异常的子类还是父类?

父类

里氏替换违反举例:

用户头像

Geek_10

关注

还未添加个人签名 2020.03.19 加入

还未添加个人简介

评论

发布
暂无评论
0616作业2