ARTICLE DETAIL

资讯详情

深耕编程入门与网站建设的一线实战洞察。

软考必考点:计算机和鼠标到底是啥关系?一文搞懂UML类图四大关系!

软考必考点:计算机和鼠标到底是啥关系?一文搞懂UML类图四大关系! 文章目录 软考必考点计算机和鼠标到底是啥关系一文搞懂UML类图四大关系 核心判定法则一句话口诀1. 泛化/继承关系 (Generalization)2. 依赖关系 (Dependency)3. 关联关系 (Association) —— 最宽泛的“Has-a” 重点难点聚合 vs 组合 (Aggregation vs Composition)✅ 聚合关系 (Aggregation) —— 弱拥有❌ 组合关系 (Composition) —— 强拥有 总结一张表 (建议截图保存) 避坑指南 软考必考点计算机和鼠标到底是啥关系一文搞懂UML类图四大关系在备考软件设计师或系统架构设计师时面向对象技术绝对是重头戏。而其中UML类图中类与类的关系又是错题率极高的“坑”。今天我们就拿一道经典真题来彻底拆解一下“计算机由CPU、内存、硬盘、鼠标等构成请问计算机类与鼠标类之间是什么关系”很多同学第一反应选“关联”结果错了有的选“组合”也错了。正确答案其实是聚合关系。为什么这几种关系到底怎么分别急看完这篇你就通透了 核心判定法则一句话口诀在UML类图中区分关系主要看两个维度语义是不是和生命周期能不能独立存活。1. 泛化/继承关系 (Generalization)关键词Is-a是一个判定如果A是B的一种特殊类型那就是继承。例子猫是动物→ \rightarrow→继承鼠标是计算机→ \rightarrow→❌ 显然不是排除2. 依赖关系 (Dependency)关键词Use-a用一下判定一种临时的、偶然的关系。通常表现为B是A某个方法的参数或者A在方法里局部使用了B。例子司机开车→ \rightarrow→司机类的方法里传入了一个“车”对象作为参数。人喝水→ \rightarrow→喝完了水就没了联系不是长期的结构关系。3. 关联关系 (Association) —— 最宽泛的“Has-a”关键词Has-a拥有/认识判定类A持有类B的引用作为成员变量表示一种长期的连接。注意聚合和组合其实都是关联的特例。但在考试中如果选项里有更精准的“聚合”或“组合”优先选精准的如果没有才选关联。例子老师教学生→ \rightarrow→老师对象里有学生列表。 重点难点聚合 vs 组合 (Aggregation vs Composition)这是最容易混淆的一对也是本题的关键它们都是“整体-部分”关系区别在于部分能否脱离整体独立存在。✅ 聚合关系 (Aggregation) —— 弱拥有特征同生共死NO部分可以脱离整体独立存在。图示空心菱形 ◇本题分析计算机整体由鼠标部分组成。如果把鼠标拔下来鼠标还是鼠标可以插到别的电脑上甚至放在桌上当摆设。它的生命周期不依赖于这台特定的计算机。结论这就是典型的聚合关系其他例子雁群与大雁大雁飞走还活着汽车与轮胎轮胎可拆卸更换学校与老师老师离职了还是老师❌ 组合关系 (Composition) —— 强拥有特征同生共死YES部分不能脱离整体存在整体销毁部分必须销毁。图示实心菱形 ◆反例分析如果题目问“计算机类与主板上的南桥芯片类”或者“人的心脏类”那就是组合。因为把电脑拆了南桥芯片通常就废了或者不再作为独立功能体存在人没了心脏也就停止功能了。结论这种“生死与共”的才是组合。 总结一张表 (建议截图保存)关系类型关键词强弱程度典型例子本题适用性继承Is-a (是一个)最强狗是动物❌ 鼠标不是计算机组合Contains-a (强包含)强 (同生共死)鸟与翅膀、公司与部门❌ 鼠标拔下来还能用聚合Has-a (弱包含)中 (可分离)计算机与鼠标、车队与车✅正确答案关联Link (连接)弱 (长期持有)老师与学生、用户与订单⚠️ 太宽泛不如聚合精准依赖Use-a (使用)最弱 (临时)司机开车、人喝水❌ 鼠标是电脑的组成部分不仅仅是临时使用 避坑指南做题时看到“由…构成”、“包含…”这类词首先要在聚合和组合之间二选一。问自己一个问题“把这个零件拆下来它还能独立存在吗”能→ \rightarrow→聚合(空心菱形)不能→ \rightarrow→组合(实心菱形)这道题选C. 聚合关系你学会了吗
返回列表