软考 UML类图 泛化继承 实现 聚合 组合(最强) 依赖(最弱

类图用于说明系统的静态设计视图 类图展现了一组对象、接口、协作和它们之间的关系

构件图(Component Diagram)展现了一组构件之间的组织和依赖。构件图专注于系统的静态实现视图。

对象图(包含的是具体的对象)

包图 包图描述由模型本身分解而成的组织单元,以及它们之间的依赖关系。

序列图 描述了以时间顺序组织的对象之间的交互活动

1.联系(最弱)

2. 泛化继承

3. 实现

4.依赖(比较弱)

取款用例要等 存款用例执行完才执行, 用例执行有先后顺序,是一种在时间上的依赖关系

方法的参数(Parameter)​​:如上文的例子,一个类将另一个类作为其方法的参数。这是最常见的依赖形式

​​局部变量(Local Variable)​​:在一个类的方法内部,创建了另一个类的局部变量

静态方法调用(Static Method Call)​​:一个类调用了另一个类的静态方法。

依赖注入等,都是依赖关系

复制代码
依赖关系是UML类图中耦合度最弱的一种关系,它描述了一个类临时使用另一个类的情形,这种使用通常是偶然的、临时的,而非长期持有的。下面通过几个例子来具体说明。
依赖关系是UML类图中耦合度最弱的一种关系,它描述了一个类临时使用另一个类的情形,这种使用通常是偶然的、临时的,而非长期持有的。下面通过几个例子来具体说明。

🔧 一个简单的例子:人与工具
想象一下一个人(Person类)要拧螺丝,他需要一把螺丝刀(Screwdriver类)来完成这项工作。在这个场景中,Person类​​临时使用​​了Screwdriver类,它们之间就构成了依赖关系
。

​​UML表示​​:一条从Person指向Screwdriver的​​虚线箭头​​。

​​代码表现​​:Screwdriver作为参数出现在Person类中某个方法的参数列表里
。

public class Screwdriver {
    public void screw() {
        System.out.println("拧螺丝");
    }
}

public class Person {
    // "拧螺丝" 方法依赖 Screwdriver 对象作为参数
    public void screw(Screwdriver screwdriver) {
        screwdriver.screw(); // 临时使用螺丝刀
    }
}
这里,Person对象只是在执行screw方法时才需要Screwdriver对象,方法结束后,这个临时关系就解除了。螺丝刀并非人固有的属性。

5. 聚合

"部分"可以独立于"整体"存在。整体的生命周期不会直接决定部分的生生命周期命周期

比如: 学校 和 老师; 车和轮胎就是 聚合关系

6. 组合(最强) 部分不能脱离整体独立存在

比Aggregation 聚合关系更强的 Composition 合成关系, 比如一个接口/类种的方法

复制代码
public interface PhonePlanStrategy {

    public double doOperation(int talkTime, int flow);
 
}   如上代码 , PhonePlanStrategy 类和里面的doOperation 方法 属于什么关系, 是类图的组合关系吗?
引用 11 篇资料作为参考
你提供的代码片段中,PhonePlanStrategy是一个接口(interface),doOperation是该接口中声明的一个抽象方法。它们之间的关系是 ​​接口与其抽象方法​​ 的声明关系,这属于 ​​组合关系(Composition)​​。
组合关系 (Composition)​​

​​强拥有的"整体-部分"关系​​,部分的生命周期与整体完全绑定。​​接口/类与其方法​​ 就是这种关系。

实心菱形箭头,从整体指向部分。

​​PhonePlanStrategy接口(整体) 与 doOperation方法(部分)​​。方法无法脱离接口独立存在。
相关推荐
Minilinux201814 小时前
工具使用系列之 PlantUML画UML时序图
uml·plantuml·统一建模语言·sequence·时序图
小湘西14 小时前
UML 用例图图中包含和扩展区别
uml·设计规范·设计语言
明洞日记14 小时前
【图解软考八股034】深入解析 UML:识别标准建模图示
c++·软件工程·软考·uml·面向对象·架构设计
奋斗的小方5 天前
01 一文读懂UML类图:核心概念与关系详解
java·uml
钝挫力PROGRAMER5 天前
UML构造块中的关系梳理
软件工程·uml
未来之窗软件服务5 天前
计算机等级考试—UML 核心图分类与图标对照表—东方仙盟练气期
uml·计算机软考·仙盟创梦ide·东方仙盟
rolt9 天前
质量需求当成愿景、伪创新的基本盘《软件方法》第2章
产品经理·uml·软件方法
rolt17 天前
利用AI识别损毁程度是愿景吗《软件方法》第2章
产品经理·需求分析·uml
rolt17 天前
[pdf]《软件方法》全流程引领AI-电子书共435页202601更新
产品经理·ddd·架构师·uml·领域驱动设计
:mnong17 天前
跟着《软件需求分析和设计实践指南》成长
学习·需求分析·uml·软件需求