Skip to content

考点清单

  • [x] 面向对象基本概念(对象/类/抽象/封装/继承/多态/接口/消息/覆盖/函数重载/绑定)
  • [x] 类的三种类型(实体类/接口类/控制类)
  • [x] SOLID 原则(单一职责/开闭/里氏替换/接口隔离/依赖倒置)
  • [x] 最少知识原则(迪米特法则)
  • [x] 面向对象分析(OOA)/设计(OOD)/测试(OOT)
  • [x] 面向对象测试层级(算法层/类层/模板层/系统层)

笔记

一、面向对象基本概念 ★

概念说明关键记忆
对象由数据及其操作构成的封装体,是构成系统的基本单位对象 = 对象名 + 属性 + 方法
实体的形式化描述,属性和操作封装在一起类是对象的模板,对象是类的实例
抽象通过特定实例抽取共同特征形成概念强调主要特征,忽略次要特征
封装信息隐蔽技术,将数据和操作封装成整体对数据访问只能通过对外接口进行
继承类之间的层次关系(父子)单继承/多继承,子类复用父类特征
多态不同对象收到同一消息产生不同结果由继承机制支持,通用消息放抽象层
接口描述操作规范说明只说明做什么,不定义如何做
消息对象间交互,向目标对象发送操作请求
覆盖(Override)子类重定义与父类同名同参的方法子类用自己的实现置换父类实现
函数重载(Overload)与子类父类无关,同名不同参数参数类型/个数/顺序不同
绑定过程调用和响应代码的结合过程静态绑定(编译时)/ 动态绑定(运行时)

覆盖 vs 重载:覆盖 = 子类重写父类同名同参方法;重载 = 同类同名不同参,与父子无关。

类的三种类型:

类型说明示例
实体类表示现实世界真实实体人、物、客户
接口类(边界类)提供用户与系统交互方式窗口、对话框、二维码(人接口);数据收发的系统接口
控制类控制活动流,充当协调者业务逻辑控制器

二、多态的四种类型

类型说明
参数多态不同类型参数多种结构类型(泛型)
包含多态父子类型关系(子类型多态)
过载多态一个名字不同含义(重载)
强制多态强制类型转换

三、SOLID 设计原则 ★

面向对象设计五大原则。

原则说明口诀
单一职责原则(SRP)一个类只负责一个功能领域中的相应职责一类一事
开闭原则(OCP)对扩展开放,对修改关闭加功能不修代码
里氏替换原则(LSP)子类可以替换父类出现,且不影响程序正确性子代父职
接口隔离原则(ISP)使用多个专门的接口比使用单一的总接口好接口要专一
依赖倒置原则(DIP)抽象不应依赖细节,细节应依赖抽象;针对接口编程,不针对实现编程依赖抽象不依赖具体

其他原则:最少知识原则(迪米特法则) — 一个对象应对其他对象有尽可能少的了解。合成复用原则 — 优先使用对象组合而非继承。


四、面向对象分析/设计/测试

OOA(面向对象分析):确认问题域,理解问题。分析模型 = 顶层架构图 + 用例与用例图 + 领域概念模型

OOD(面向对象设计):设计模型包含 → 以包图表示的软件体系结构图、以交互图表示的用例实现图、完整精确的类图、描述复杂对象的状态图、描述流程化处理的活动图

OOT(面向对象测试)四层级:

层级说明
算法层测试单个操作/方法
类层测试单个类的所有操作
模板层测试一组协同工作的类(模板/组件)
系统层测试整个系统