zoukankan      html  css  js  c++  java
  • UML类图的关系

    多态

    泛化(Generalization)

    【定义】:是一种继承关系,表示一般与特殊的关系,它指定了子类如何特化父类的所有特征和行为
    【UML表示】:带三角箭头的实线,箭头指向父类

    【代码表现】:A类 extends B类

    public Class Tigger extends Animal{

    实现(Realization)

    【定义】:是一种类与接口的关系,表示类是接口所有特征和行为的实现
    【UML表示】:带三角箭头的虚线,箭头指向接口

    【代码表现】:A类 implements B接口

    public Class Course implements Goods{

    依赖(Dependency)

    【定义】:是一种使用的关系,即一个类的实现需要另一个类的协助
    【UML表示】:带箭头的虚线,指向被使用者

    【代码表现】:局部变量、方法的参数或者对静态方法的调用

    关联

    下面的三种关系从语法上是没有区别的。只是在语义是做区分。

    关联(Association)

    【定义】:是一种拥有的关系。类的地位还是平等的。
    【UML表示】:带普通箭头的实心线,指向被拥有者

    【代码表现】:成员变量

    注意事项:

    • 通常情况下关联是双向的,在使用的时候会转成单向。转成单身的原则:以业务关注点高的类为起点,关联另一个类。

    聚合(Aggregation)

    【定义】:是整体与部分的关系,且部分可以离开整体而单独存在,部分可以多个整体使用。类有上下层的关系。
    【UML表示】:带空心菱形的实心线,菱形指向整体

    【代码表现】:成员变量

    组合(Composition)

    【定义】:是整体与部分的关系,但部分不能离开整体而单独存在,部分只能被一个整体使用。类有上下层的关系。它们的生命周期是:同生共死,即如果整体消失了,那么局部也会消失。
    【UML表示】:带实心菱形的实线,菱形指向整体

    【代码表现】:成员变量

  • 相关阅读:
    网易数帆实时数据湖 Arctic 的探索和实践
    私有化场景下大规模云原生应用的交付实践
    Apache Kyuubi 在 T3 出行的深度实践
    Win7 32位原版镜像无法安装VMware Tools
    VB.NET代码转C#的方法
    ArcGIS Pro导入OSGB倾斜摄影数据
    基于倾斜摄影测量的三维建模实验
    解决QTTabBar标签不能置顶的问题
    GIS中图斑椭球面积的计算
    ISaveAs导出栅格显示异常
  • 原文地址:https://www.cnblogs.com/ansn001/p/4919718.html
Copyright © 2011-2022 走看看