Skip to content
难度基础(★)
建议时长45分钟

10.7 面向对象技术章节回顾

本章回顾的重点不是把前面标题再列一遍,而是把考试中的判断路径固定下来。面向对象技术在软设考试中大约 11 分,考察集中,很多题属于“概念清楚就能拿分”的类型。

本章一张图

mermaid
flowchart TB
  OO["第10章 面向对象技术"]
  OO --> Base["面向对象基础\n约2-4分"]
  OO --> UML["UML\n约3-4分"]
  OO --> Pattern["设计模式\n约4分"]
  Base --> B1["类/对象/封装/继承/多态/动态绑定"]
  Base --> B2["OOA/OOD/设计原则"]
  UML --> U1["图的识别"]
  UML --> U2["关系与多重度"]
  UML --> U3["下午UML建模"]
  Pattern --> P1["23种模式分类"]
  Pattern --> P2["场景与意图"]
  Pattern --> P3["类图与特殊方法"]

面向对象基础怎么复盘

这一部分主要考名词、定义、边界。复盘时不要只看自己选错了哪个选项,而要写出“相邻概念怎么区分”。

易混概念区分方法
类 vs 对象类是抽象模板,对象是运行时实例
属性 vs 状态属性是对象特征,状态是属性在某时刻的取值组合
继承 vs 泛化编程里常说继承,UML 语义里父类是子类的泛化
重载 vs 重写重载同名不同参数,重写子类覆盖父类方法
多态 vs 动态绑定多态是现象,动态绑定是运行时确定方法的机制
OOA vs OODOOA 面向问题域识别对象,OOD 面向解空间设计职责和协作

错题模板:

text
题干关键词:______
考点概念:______
易混概念:______
一句话区分:______

UML怎么复盘

UML 题的核心是识图和识关系。

题型解题动作
问是什么图找图形线索:生命线、小人椭圆、粗实线、节点、构件图标
问关系是什么看箭头、菱形、虚实线、关键字 include/extend
问多重度站在一个对象的角度数对方对象数量
问顺序图方法归属消息箭头指向谁,方法通常属于谁
问对象图一致性用对象连接数量反查类图多重度

UML 关系复盘表:

关系复盘句
依赖使用方临时依赖被使用方,虚线箭头常见
关联类之间有结构连接,可标多重度和角色
聚合整体-部分,部分可独立存在
组合强整体-部分,生命周期联系更紧密
泛化子类指向父类,表示“一种”
实现实现类指向接口
include基本用例必然执行公共用例,箭头指公共用例
extend条件满足才执行扩展用例,箭头指基本用例

设计模式怎么复盘

设计模式是本章重点也是难点。复盘要按三个层次来:

  1. 模式识别:场景或类图告诉你是哪一个模式。
  2. 分类判断:创建型、结构型、行为型。
  3. 意图/结构细节:这个模式解决什么问题,类图里哪个角色负责什么。
判断入口例子
应用场景“复杂对象构建与表示分离” -> Builder
英文类名StateCommandVisitorBuilder
特殊方法clone() -> Prototype,execute() -> Command,accept()/visit() -> Visitor
结构关系两个变化维度组合 -> Bridge;一对多通知 -> Observer

设计模式常见错题归因

错因修正方法
只背中文名,不认英文名建立中英对照表,每天快速过一遍
看到“接口”就选适配器区分接口转换、统一入口、接口实现
把状态和策略混在一起状态封装“状态”,策略封装“算法”
把桥接和访问者混在一起桥接组合两个维度;访问者用一种操作遍历对象结构
把观察者和中介者混在一起观察者是自动通知;中介者是集中协调交互
不看题干问“一致”还是“不一致”先圈题眼,再比对选项

下午题提示

本章理论会进入下午题:

上午知识下午可能怎么用
UML 类图补类名、属性、方法、关系
用例图补参与者、用例、include/extend
顺序图通过消息方向判断方法属于哪个类
设计模式类图识别模式后补抽象类、具体类、接口方法
特殊方法buildPart()getResult()execute()accept()visit()

因此下午题复习不要等到案例章节才开始。现在先把 UML 图和设计模式类图看懂,后面做代码填空会轻很多。

最小复习清单

考前快速过本章,可以按这个清单:

  • 面向对象基础:类、对象、封装、继承、泛化、多态、动态绑定、重载、重写。
  • UML 图:类图、对象图、用例图、顺序图、通信图、活动图、状态图、构件图、部署图。
  • UML 关系:依赖、关联、聚合、组合、泛化、实现、include、extend。
  • 设计模式分类:创建型 5、结构型 7、行为型 11。
  • 设计模式关键词:唯一实例、产品族、构建与表示分离、接口转换、两个变化维度、动态职责、一对多通知、状态改变行为、算法互换、visit/accept。

例题

单选
解决接口不兼容问题的设计模式是:
单选
通过消息箭头方向推断方法属于哪个类,主要用到:

自查要点

  1. 本章三块内容各自最常考什么?
  2. UML 题如何从“识图”推进到“识关系”?
  3. 设计模式题的三层判断路径是什么?
  4. 哪些特殊方法名可以帮助识别设计模式?