云计算百科
云计算领域专业知识百科平台

【面向对象】复习日:面向对象基础 + UML + 设计原则(整理对比表 + 板块总结)

适合读者:软考中级备考同学
阅读时间:6分钟
内容:面向对象基础、UML、设计原则三大模块核心对比表、易错点、记忆口诀汇总

一、板块内容概览

“面向对象技术”板块共完成 16篇 文章,覆盖以下知识模块:

知识模块篇数核心内容
面向对象基础 5篇 面向对象概述、类与对象、三大特性(封装/继承/多态)、抽象类与接口
UML建模 7篇 概述、类图(六大关系)、对象图/构件图/部署图、用例图、顺序图、活动图、状态图
设计原则 2篇 SOLID五大原则、迪米特法则、组合重用原则
设计模式 2篇 设计模式概述、三大分类及23种模式速览

二、核心对比表

2.1 面向对象三大特性

特性核心作用实现方式软考关键词
封装 信息隐藏,隔离变化 private 属性 + public 方法 访问控制、数据隐藏
继承 代码复用,建立 is-a 关系 extends(单继承) / 多重继承(C++) 子类父类、泛化、复用
多态 一个接口,多种实现 重载(编译时)+ 覆盖(运行时) 重载/覆盖、参数多态/包含多态

多态分类对比:

分类绑定时机实现手段软考关键词
重载(Overload) 编译时 同一类中,方法名相同参数列表不同 静态多态
覆盖(Override) 运行时 子类重写父类方法 动态多态
参数多态 编译时 泛型/模板 编译时多态
包含多态 运行时 继承 + 接口 运行时多态

2.2 抽象类 vs 接口

对比项抽象类接口
关键字 abstract class interface
方法实现 可有具体方法 所有方法抽象(传统)
成员变量 可有各种类型 只能 public static final
构造器 可有
继承/实现 单继承 多实现
语义 is-a(是什么) can-do(能做什么)

2.3 UML类图六大关系(符号速查)

关系符号箭头方向关系强度
依赖 虚线箭头 ——> 指向被依赖者 最弱
关联 实线箭头 ———> 指向被持有者
聚合 空心菱形实线 ◇——— 整体→部分
组合 实心菱形实线 ◆——— 整体→部分
泛化 实线空心三角 ———▷ 子类→父类
实现 虚线空心三角 —▷ 实现类→接口

高频易混辨析:

易混组区分方法
依赖 vs 关联 依赖是方法参数/局部变量(用完就扔);关联是成员变量(长期持有)
聚合 vs 组合 聚合部分可独立存在(车和轮胎);组合部分同生共死(公司和部门)
泛化 vs 实现 看目标端是类(泛化)还是接口(实现)

2.4 UML图分类速查

分类图名称核心用途考频
结构图 类图 系统静态结构 ★★★★★
对象图 某一时刻对象实例快照 ★★☆☆☆
构件图 软件构件组织与依赖 ★★★☆☆
部署图 软件在硬件上的物理部署 ★★★☆☆
行为图 用例图 系统功能与外部参与者 ★★★★★
顺序图 对象间消息时间顺序 ★★★★★
活动图 业务流程与并行行为 ★★★★☆
状态图 对象生命周期状态变化 ★★★★☆

2.5 用例图关系辨析(高频考点)

关系符号语义关键词
包含(include) 基础用例 → 被包含用例 必然执行 “必须”、“总是”
扩展(extend) 扩展用例 → 基础用例 有条件触发 “如果…则”、“可选”
泛化 子用例 → 父用例 继承关系 “是一种”

答题技巧:题干出现“必须验证”、“总是检查” → 包含;出现“当…时”、“可选的”、“特殊情况下” → 扩展。

2.6 活动图 vs 状态图

对比项活动图状态图
关注对象 业务流程/操作流程 单个对象的生命周期
圆角矩形含义 活动(做一件事) 状态(处于某个阶段)
核心概念 分叉/汇合(并行)、判断/合并(分支) 事件触发、状态转换
关键词 “流程”、“顺序”、“并行” “状态”、“事件”、“转换”

2.7 SOLID五大原则速查

原则核心要点软考关键词
单一职责(SRP) 一个类只有一个职责 一个变化原因
开闭原则(OCP) 对扩展开放,对修改关闭 不修改原有代码
里氏替换(LSP) 子类可替换父类且行为不变 子类替换父类
接口隔离(ISP) 胖接口拆成小接口 不依赖不需要的方法
依赖倒置(DIP) 依赖抽象,不依赖具体 面向接口编程

2.8 迪米特法则 vs 组合重用原则

对比项迪米特法则(LoD)组合重用原则(CRP)
核心问题 模块之间怎么通信 代码怎么复用
核心要求 只跟直接朋友通信 优先用组合而非继承
违反标志 链式调用(a.getB().getC()) 为了复用代码随意继承
共同目标 降低耦合 降低耦合

三、设计模式分类速查

分类数量模式清单记忆口诀
创建型 5种 单例、工厂方法、抽象工厂、建造者、原型 单工抽建原
结构型 7种 适配器、桥接、组合、装饰器、外观、享元、代理 适桥组装外享代
行为型 11种 观察者、模板方法、命令、状态、策略、职责链、访问者、迭代器、中介者、备忘录、解释器 观模命状策,职访迭中备解

设计模式四要素:名称、问题、解决方案、效果

四、易错点汇总

易错点正确理解
封装就是私有化属性 ❌ 私有化是手段,封装的目的是隔离变化、保护数据
继承可以随意使用 ❌ 滥用继承会破坏封装,优先用组合
重载和覆盖是一回事 ❌ 重载在同一类内(编译时),覆盖在父子类间(运行时)
参数多态是运行时多态 ❌ 参数多态(泛型)是编译时多态
包含和扩展方向相同 ❌ 包含:基础→被包含;扩展:扩展→基础(方向相反)
活动图和状态图是一回事 ❌ 活动图关注流程,状态图关注对象的生命周期
接口可以实例化 ❌ 接口不能实例化,只能被实现
聚合和组合可以互换 ❌ 聚合部分可独立,组合部分同生共死
迪米特法则禁止所有链式调用 ❌ 不是禁止,而是要求通过封装避免“长链式调用”暴露内部结构
组合重用原则完全否定继承 ❌ 说的是“优先”用组合,继承在 is-a 关系中仍然合理

五、记忆口诀

面向对象三大特性:

封装隐藏保安全,继承复用建层次,多态接口多实现。

类与对象:

类是模板对象实例,属性方法标识三要素。

UML六关系:

依赖虚线关联实,聚合空心组合实。实线三角是泛化,虚线三角是实现。

用例图:

包含必须箭头指,扩展可选反着画。

活动图 vs 状态图:

活动图画流程图,状态图画变形记。

SOLID:

单开里接依——单一职责、开闭、里氏替换、接口隔离、依赖倒置。

设计模式分类:

创建单工抽建原,结构适桥组装外享代,行为观模命状策,职访迭中备解来。

六、板块总结表

板块完成篇数状态
1. 计算机系统知识 28篇 ✅ 已完成
2. 程序语言与编译 16篇 ✅ 已完成
3. 操作系统 28篇 ✅ 已完成
4. 软件工程 24篇 ✅ 已完成
5. 面向对象技术 16篇 ✅ 已完成
6. 数据结构与算法 30篇 即将开始

七、下期预告:板块6 – 数据结构与算法

预计更新 30篇,时间:7.31 – 8.17(共18天)

数据结构与算法在软考中占 8-15分,是上午选择题的核心得分区。主要内容:

知识模块核心内容
基础概念 逻辑结构与物理结构、ADT、时间复杂度与空间复杂度
线性结构 顺序表、链表、栈、队列、串(含KMP算法)
树与二叉树 二叉树性质与遍历、二叉排序树、平衡二叉树、哈夫曼树
邻接矩阵/邻接表、DFS/BFS、最小生成树、最短路径
查找与排序 顺序查找/折半查找、哈希表、八大排序算法总结

特别注意:时间复杂度分析、二叉树遍历、排序算法是选择题最集中的得分点,写文章时会重点讲解计算方法。

从下一篇文章开始,我们将进入 数据结构与算法 板块。这个板块内容多、计算量大,建议每天按时跟进,多做计算练习。请持续关注本专栏,每日更新,陪你一起拿下软考中级!

🔔 本专栏日更,点击头像 → 专栏《软考中级高频考点》订阅,第一时间接收新内容

#软考中级 #软件设计师 #面向对象技术 #UML #设计模式 #板块总结 #数据结构与算法

赞(0)
未经允许不得转载:网硕互联帮助中心 » 【面向对象】复习日:面向对象基础 + UML + 设计原则(整理对比表 + 板块总结)
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!