技术文摘
UML六种图关系的表示及代码体现
2025-01-01 22:28:19 小编
UML六种图关系的表示及代码体现
UML(统一建模语言)是面向对象设计中常用的可视化建模工具,其中六种图关系对于理解和设计软件系统至关重要。本文将介绍这六种关系的表示及代码体现。
关联关系 关联关系表示类之间的一种结构关系,体现为对象之间的引用。在UML图中,用实线连接两个类。例如,一个学生类和课程类之间存在关联关系,一个学生可以选择多门课程。在代码中,通常在一个类中定义另一个类的对象作为成员变量。如下所示:
class Student {
private Course[] courses;
}
class Course {
// 课程相关属性和方法
}
依赖关系 依赖关系是一种使用关系,一个类的变化可能会影响到另一个类。在UML中用虚线箭头表示。比如,司机类依赖汽车类,司机需要使用汽车。在代码中,一个类的方法中使用到另一个类的对象。
class Driver {
public void drive(Car car) {
// 驾驶逻辑
}
}
class Car {
// 汽车相关属性和方法
}
泛化关系 泛化关系即继承关系,子类继承父类的属性和方法。在UML中用实线空心箭头表示。例如,动物类是父类,猫类是子类。代码体现为子类使用extends关键字继承父类。
class Animal {
// 动物通用属性和方法
}
class Cat extends Animal {
// 猫特有属性和方法
}
实现关系 实现关系表示类对接口的实现。在UML中用虚线空心箭头表示。比如,飞行器接口有飞行方法,飞机类实现该接口。代码中用implements关键字。
interface Flyable {
void fly();
}
class Plane implements Flyable {
public void fly() {
// 飞行逻辑
}
}
聚合关系 聚合关系是整体与部分的关系,部分可以脱离整体而存在。在UML中用实线空心菱形表示。如汽车和轮胎,轮胎可以单独存在。代码体现类似关联关系,但语义不同。
组合关系 组合关系也是整体与部分关系,但部分不能脱离整体而存在。在UML中用实线实心菱形表示。例如,人体和心脏,心脏不能脱离人体单独存在。代码体现上,部分对象在整体对象创建时创建,销毁时销毁。
- Golang 中如何解决 Http 请求超时问题
- .NET 工具库:QuestPDF 高效生成 PDF 文档实战攻略
- RavenTree:轻量的 Go HTTP 请求库 含重试与错误处理机制
- 深度剖析线程等待与唤醒机制 硬核知识
- 线上故障复盘:RPC 线程池被打满,1024 个线程竟不够?
- Rust 助力前端:优化 WebAssembly 体积
- 携程业务量预测中结构化多元时序模型的应用
- 软件研发中的误区,你是否中招?
- CSV 文件读写的八个关键细节
- .NET Core 中 RabbitMQ 的应用
- 你知晓几个最佳的 Golang 库?
- 指针的发明历程是怎样的?
- Vue 项目的运行机制解析
- 告别 RestTemplate !RestClient 魅力无限
- SpringBoot 实战:条形码生成方案