# 软考中级 6 面向对象

# 基本名词

缩写 名称 备注

# 主要概念

多态 说明
参数多态 只有参数不同
包含多态 多个子类不同实现
过载多态 c++ 的运算符重载,需要使用上下文
强制多态 类型强制转换

golang 只有包含多态、强制多态

# 用例图

  • 只有包含(include)和扩展(extend)两种关系
  • 参与者都在系统外部(即使是定时器,也应在外部)

#

  • 类分三种:实体类(Model)、控制类(Control)、边界类(View)
  • 类中的成员变量也叫属性,类中的成员函数也叫方法
类型 作用 详细 口诀
创建型 如何创建对象 单例模式、抽象工厂模式、原型模式、建造者模式、工场方法模式 单抽原建场
结构型 如何组织类或对象 外观模式、桥接模式、组合模式、享元模式、代理模式、适配器模式、装饰器模式 外桥组元代配饰
行为型 类或对象之间如何交互 观察者模式、模板方法模式、迭代器模式、策略模式、责任链模式、命令模式、解释器模式、访问者模式、中介者模式、备忘录模式、状态模式 观模迭策,责令解访,介忘态
模式 说明
单例模式 类只有一个实例
抽象工厂模式 创建对象时无需指定具体的类
原型模式 同过拷贝原型实例来创建新的实例
建造者模式 构建与对象分离,同样的构建过程可以创建不同的对象
工厂方法模式 定义实例化接口,让子类决定具体创建哪个实例
- -
外观模式 提供一个一致的界面
桥接模式 将抽象与实现分离,独立变化
组合模式 将对象组合成树型结构
享元模式 大量对象共享同一块内存区域
代理模式 使用代理对象完成请求
适配器模式 将一个类的接口转换成希望的另一个接口
装饰器模式 动态给对象添加额外的功能
- -
观察者模式 一个对象的状态改变,所有依赖的对象得到通知
模板方法模式 定义骨架,子类实现
迭代器模式 按顺序访问内部元素,但又不暴露内部细节
策略模式 把算法封装为策略,可以互为替换
责任链模式 避免请求者与接受者耦合,将多个对象连成链
命令模式 把请求封装为对象,可撤销
解释器模式
访问者模式 不同的访问者,执行的操作不同,产生的结果不同
中介者模式 多个对象之间不用互相引用
备忘录模式 把对象存储在外部,使其可恢复
状态模式 状态改变时可改变行为
原则 说明
单一职责
开放封闭 扩展开放,修改封闭
里式替换 可用子类替换父类
依赖倒置、接口分离 应依赖抽象,不依赖具体
共同封闭 包内的一个子类发生变化,包内的所有子类发生变化
共同重用 重用了包内的一个子类,就要重用包内的所有子类

# 重要习题

最后更新于: 10/26/2022, 10:04:59 PM