技术文摘
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中用实线实心菱形表示。例如,人体和心脏,心脏不能脱离人体单独存在。代码体现上,部分对象在整体对象创建时创建,销毁时销毁。
- Vue 中使用 $emit 触发事件的方法
- Vue 中使用 keep-alive 缓存动态组件的方法
- Vue 中用事件修饰符.v-on:keyup.enter 实现回车键事件处理的方法
- Vue使用v-model.lazy实现输入框数据延迟绑定的方法
- Vue 实现按需加载与 Tree shaking 的方法
- Vue 递归组件的使用方法
- Vue 中运用 CSS 过渡达成动画过渡效果的方法
- Vue 中使用 Promise 处理异步操作的方法
- Vue 路由懒加载
- Vue 中用 v-on:click.prevent 实现阻止默认行为的方法
- Vue 实现跨组件通信之全局数据使用方法
- Vue 中运用 v-if 判断元素显示或隐藏的方法
- Vue 中使用 v-on:focus 监听焦点事件的方法
- Vue 实现本地存储的方法
- Vue 中利用 v-bind:key 与 v-for 达成响应式更新的方法