技术文摘
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中用实线实心菱形表示。例如,人体和心脏,心脏不能脱离人体单独存在。代码体现上,部分对象在整体对象创建时创建,销毁时销毁。
- 用JavaScript把选中的DIV包裹在表单里的方法
- 利用类型约束对象实现TS中CSS属性值自动补全的方法
- 阻塞与非阻塞代码解析:开发人员简易指南
- .Top2 无法出现滚动条的原因
- JSON格式数据转列表格式的方法
- Vue2 表格隐藏列后固定列出现空白行的解决办法
- 自定义Vue/Antv雷达图标签样式的方法
- 约束TS函数参数为CSS属性获取代码提示建议的方法
- JavaScript中设置DataTable的bLengthChange无法显示每页数据量原因
- DataTables 怎样设置每页显示数据数量
- Ant Design全局样式覆盖:解决Unknown word错误的方法
- 浏览器调试器中flex标签的含义
- CSS 多行省略号对纯字母文本不生效的缘由及解决办法
- Laravel框架下如何整合微信支付与支付宝支付
- JS中this指向疑惑解析:obj.foo()与foo()指向window对象原因剖析