面向对象技术
12’ 占比最高
1.面向对象基本概念
对象 | 属性(数据)+方法(操作)+对象ID(唯一标识) |
类 | 实体类、控制类、边界类 |
继承与泛化 | 复用机制 |
封装 | 隐藏对象属性和实现细节,仅对外公开接口 |
多态 | 不同对象收到同样的消息产生不同的结果 |
接口 | 一种特殊的类,他只有方法定义没有实现 |
重载 | 一个类可以有多个同名而参数类型不同的方法 |
模板类 | 用模板的形式定义 |
消息和消息通信 | 消息是异步通信的 |
面向对象七大原则
- 单一职责原则:设计目的单一的类
- 开放-封闭原则:对扩展开放,对修改封闭
- 李氏(Liskov)替换原则:子类可以替换父类
- 依赖倒置原则:要依赖于抽象,而不是具体实现;针对接口编程,不要针对实现编程
- 接口隔离原则:使用多个专门的接口比使用单一的总接口要好
- 组合重用原则:要尽量使用组合,而不是继承关系达到重用目的
- 迪米特原则(最少知识法则):一个对象应当对其对象有尽可能少的了解
2.UML
2.1用例图***
- 包含:能够提取公共用例
- 扩展:分为一个基本用例和多个扩展用例(分支)
- 泛化:子用例继承了父用例所有的结构、行为和关系

2.2类图与对象图***
类图:描述一组类、接口、协作和他们之间的关系。静态视图
对象图:描述一组对象及他们之间的关系。静态快照
- 多重度:一个集合中的对象对应另一个集合中的对象,一对一,多对一,多对多
关系类型 | 类 | 类 | 连线 | 箭头 |
---|---|---|---|---|
关联关系 | A | B | 直线 | |
依赖关系 | A | B | 虚线 | 实心 |
泛化 | 子类 | 父类 | 直线 | 空心 |
聚合 | 部分类 | 整体类 | 直线 | 菱形实心 |
组合–共存亡 | 部分 | 整体 | 直线 | 菱形空心 |
实现 | A | B | 虚线 | 空心 |
2.3顺序图
也称序列图SD(Sequence Diagram),是一种交互图,专注于动态视图,强调消息的时间次序。
2.4状态图
由状态、转移、事件和活动组成
2.5活动图
动态图,有控制流和数据流,按角色划分

2.6通信图
交互图,强调时序,对象之间的组织结构
2.7构件图
2.8部署图
3.设计模式 ***
3.1创建型模式
- 工厂方法–factory method–动态生产对象
- 抽象工厂–abstract factory–生产成系列对象
- 原型–prototype–克隆对象
- 单例–singleton–单个实例
- 构建器–builder–复杂对象构造

3.1.1工厂模式–Creator
定义接口,实例化子类

3.1.2抽象工厂–abstract
提供一个接口,创建一系列相关联或相互依赖的对象

3.1.3原型模式–Protocoltype
3.1.4单例模式–singleton
一个类只有一个实例

3.1.5生成器模式–builder

3.2结构型模式
- 适配器–adapter–转换接口
- 桥接–bridge–继承树拆分
- 组合–composite–树形目录结构
- 装饰–decorator–附加职责
- 外观–facade–对外统一接口
- 享元–flyweight–文章共享文字对象
- 代理–Proxy

3.3行为型模式
- 职责链–chain of responsibility–传递职责
- 命令–command–日志记录,可撤销
- 解释器–interpreter–虚拟机的机制
- 迭代器–iterator–数据库数据集
- 中介者–mediator–不直接引用
- 备忘录–memento
- 观察者–observer–联动
- 状态–state–状态变成类
- 策略–strategy–多方案切换
- 模板方法–template method
- 访问者 visitor

模板方法–template method
- 访问者 visitor
