问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

UML中各箭头符号解释

创作时间:
作者:
@小白创作中心

UML中各箭头符号解释

引用
CSDN
1.
https://m.blog.csdn.net/u011942101/article/details/145822509

UML(统一建模语言)是面向对象软件工程的事实上的工业标准建模语言。在UML图中,箭头符号被广泛使用以表示类之间的各种关系。本文将详细介绍UML图中常见的六种箭头符号及其含义,帮助读者更好地理解和应用UML建模。

1. 继承(Generalization)

  • 符号:空心三角形箭头 + 实线
  • 方向:子类 → 父类

在面向对象编程中,继承关系表示一个类(子类)继承了另一个类(父类)的属性和方法。在UML图中,这种关系用空心三角形箭头表示,箭头方向从子类指向父类。

class Animal {};
class Dog : public Animal {};  // Dog → Animal

2. 实现(Realization)

  • 符号:空心三角形箭头 + 虚线
  • 方向:实现类 → 接口

实现关系表示一个类实现了某个接口。在UML图中,这种关系用空心三角形箭头表示,箭头方向从实现类指向接口,且箭头为虚线。

interface Flyable {
    void fly();
}
class Bird implements Flyable {} // Bird → Flyable

3. 关联(Association)

  • 符号:普通实线箭头(可带导航性)
  • 方向:持有者 → 被引用者
  • 代码对应:成员变量持有对象

关联关系表示两个类之间存在某种联系,其中一个类持有另一个类的对象。在UML图中,这种关系用普通实线箭头表示,箭头方向从持有者指向被引用者。

// 双向关联
class Teacher {
    Student* students; // 持有学生对象
};
class Student {
    Teacher* teacher; // 持有教师对象
};

// 单向关联(导航性)
class Order {
    Customer* owner; // Order→Customer单向持有
};

4. 依赖(Dependency)

  • 符号:虚线箭头
  • 方向:使用者 → 被依赖者
  • 代码对应:参数传递、局部变量等临时依赖

依赖关系表示一个类依赖于另一个类,但这种依赖是临时的,通常通过方法参数传递实现。在UML图中,这种关系用虚线箭头表示,箭头方向从使用者指向被依赖者。

class Report {
    void print(Formatter fmt) { // 临时依赖Formatter
        fmt.format(this); 
    }
};

代码示例(关联 vs 依赖)

// 关联:成员变量持有对象(长期关系)
class Order {
private:
    Customer* customer;  // 关联关系
};

// 依赖:临时使用对象(短期关系)
class ReportGenerator {
public:
    void generate(Data data) {  // 依赖关系
        data.process();
    }
};

5. 聚合(Aggregation)

  • 符号:空心菱形 + 实线箭头
  • 方向:整体 → 部分
  • 特点:部分可独立存在(弱拥有)

聚合关系表示整体与部分之间的关系,其中部分可以独立存在。在UML图中,这种关系用空心菱形加实线箭头表示,箭头方向从整体指向部分。

class Car {
    Wheel* wheels; // 车轮可独立存在
    Engine* engine; // 引擎可更换
};

6. 组合(Composition)

  • 符号:实心菱形 + 实线箭头
  • 方向:整体 → 部分
  • 特点:部分与整体同生命周期(强拥有)

组合关系表示整体与部分之间的关系,其中部分不能独立存在,其生命周期与整体相同。在UML图中,这种关系用实心菱形加实线箭头表示,箭头方向从整体指向部分。

class Human {
    Heart heart; // 心脏随人体创建/销毁
    Brain brain; // 大脑不可独立存在
};

通过以上介绍,读者可以清晰地理解UML图中各类箭头符号的含义及其在面向对象编程中的应用。掌握这些基本概念对于进行系统设计和代码开发具有重要意义。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号