• UML中类关系表示与Java代码中的对应关系


    UML中类关系表示与Java代码中的对应关系

    1. 类的UML表示法

    image

    上图中,Employee 类有两个String类型的私有属性和一个返回值为String类型public 方法 getName();

    2. 类的关联关系

    关联(Association)关系是一种结构化关系,用于表示一类对象与另一类对象之间有联系。

    在代码实现上,通常将一个类的对象作为另一个类的成员变量。

    通常用 带箭头的直线表示关联关系.

    • 双向关联
      image
    • 单向关联
      image
    • 限定关联

    限定关联通常是从较大集合中选择一个实例。
    用代码实现限定关联时,成员变量通常是Map,而Map的键就是限定符。

    image

    • 自关联

    image

    • 聚合关系

    聚合(Aggregation)关系表示整体与部分的关联关系。聚合关系用带空心菱形的直线表示。

    在用代码实现聚合关系时,成员对象通常作为构造方法、Setter方
    法或业务方法的参数注入整体对象中。

    image

    • 组合关系

    组合(Composition)关系也表示类之间整体和部分的关联关系,但
    是在组合关系中,整体对象可以控制成员对象的生命周期,一旦整体对
    象不存在,成员对象也将不存在,成员对象与整体对象之间具有“同生
    共死”的关系。在UML中,组合关系用带实心菱形的直线表示。

    在用代码实现组合关系时,通常在整体类的构造方法中直接实例化
    成员类。成员对象域整体对象有同样的生命周期,也就是要“共生死”,
    这也是组合和聚合的主要区别。

    image

    3. 类的依赖关系

    依赖(Dependency)关系是一种使用关系。
    大多数情况下,依赖关系体现在某个类的方法使用另一个类的对象作为参数。
    在UML中,依赖关系用带箭头的虚线表示,由依赖的一方指向被依赖的一方。

    依赖关系通常通过3种方式来实现:

    1. 将类的对象作为另一个类中方法的参数。
    2. 一个类的方法中将类的对象作为局部变量。
    3. 一个类的方法中调用另一个类的静态变量。

    4. 类的泛化关系

    泛化(Generalization)关系也称为继承关系,用于描述父类与子类之间的关系。父类称为基类或超类,子类称为派生类。
    在UML中,泛化关系用带空心三角形的直线来表示。
    在代码实现时,我们使用面向对象的继承机制来实现泛化关系。

    5. 接口与实现关系

    在UML中,类与接口之间的实现关系通常是用带空心三角形的虚线来表示。

    参考资料

    1. 《代码精进之路:从码农到工匠》

    本文来自博客园,作者:不安分的黑娃,转载请注明原文链接:https://www.cnblogs.com/lihw-study/p/15101995.html

  • 相关阅读:
    kindle--瓦尔登湖
    8051
    c++
    Linux安装目录的选择
    Redis键值数据类型之散列类型
    Redis键值数据类型之字符串
    redis基本使用
    Ubuntu18.04 Redis安装
    Java String和int转换
    mysql获得自增主码的值
  • 原文地址:https://www.cnblogs.com/lihw-study/p/15101995.html
Copyright © 2020-2023  润新知