• UML类图


             类图(Class Diagram)属于结构图,常被用于描述一个系统的静态结构。一个类图通常包含类(Class)的UML图、接口(Interface)的UML图以及泛化关系(Generalization)的UML图、关联关系(Association)的UML图、依赖关系(Dependency)的UML图和实现关系(Realization)的UML图

    一、类(Class)

           在UML中,使用一个长方形描述一个类的主要构成,将长方形垂直分为三层。

                                            

                1、第一层:名字层,如果类名字是常规字形,表明该类是具体类,如果类名字是斜体,表明该类是抽象类

                2、第二层:变量层,也称属性层,列出类的成员变量及类型,格式是“变量名:类型”。‘+’表示变量的访问权限是public,‘-’表示变量的访问权限是private,‘#’表示变量的访问权限是protected

                3、第三层:方法层,也称操作层,列出类的方法及返回类型,格式是“方法名字(参数列表):类型”。

    二、接口(Interface)

           UML表示接口的UML图和表示类的UML图类似,使用一个长方形描述一个接口的主要构成,将长方形垂直分为三层。

                                             

              1、第一层:名字层,接口的名字必须是斜体,而且需要用<<interface>>修饰名字,并且该修饰和名字分列在两行

              2、第二层:常量层,列出接口中的常量及类型,格式是“常量名字:类型”。在Java中常量的访问权限是public,所以需要在常量名字前用“+”修饰

              3、第三层:方法层,也称操作层,列出接口中的方法及返回值类型,格式是“方法名(参数列表):类型”。在Java中常量的访问权限是public,所以需要在常量名字前用“+”修饰

    三、泛化关系(Generalization)

           对于面向对象语言,UML所说的泛化关系就是指类的继承关系。如果一个类是另一个类的子类,那么UML通过使用一个实线连接两个类的UML图来表示二者之间的继承关系,实线的起始端是子类的UML图,终点端是父类的UML图,在终点端使用一个空心三角形表示实线的结束。

                                                       

    四、关联关系(Association)

           如果A类中成员变量是用B类(接口)来声明的变量,那么A和B的关系是关联关系,称A关联于B。如果A关联于B,那么UML通过使用一个实线连接A和B的UML图,实线的起始端是A的UML图,终点端是B的UML图,终点端使用一个指向B的UML图的方向箭头表示实线结束。

                             

    五、依赖关系(Dependency)

          如果A类中某个方法的参数是用B类(接口)来声明的变量或某个方法返回的数据类型是B类型的,那么A 和B的关系是依赖关系,成A依赖于B。如果A依赖于B,那么UML通过使用一个虚线连接A和B的UML图,虚线的起始端是A的UML图,终点端是B的UML图,终点端使用一个指向B的UML图的方向箭头表示虚线结束。

                              

              注:在Java中,习惯上将A关联于B也称作A依赖于B,当需要强调A是通过方法参数依赖于B时,就在UML图中使用虚线连接A和B的UML图 

    六、实现关系(Realization)

           如果一个类实现了一个接口,那么类和接口的关系是实现关系,称类实现接口。UML通过使用虚线连接类和它所实现的接口,虚线起始端是类,虚线的终点端是接口,终点端使用一个空心的三角形表示虚线的结束。

                                          

    七、注释

           UML使用注释为类图提供附加的说明。UML在一个带卷角的长方形中显示给出的注释,并使用虚线将这个带卷角的长方形和它所注释的实体连接起来

                               

     

     

     

     

     

     

     

     

  • 相关阅读:
    Vue实现下载及文件重命名
    飞凌嵌入式RK3399平台的V10系统适配
    有一个整形数组, a[3] = {7,2,5}, 要求使用指针实现数组成员由小到大的顺序排列,即结果为:a[3] = {2,5,7};(C++指针练习2)
    【PyTorch实战演练】自调整学习率实例应用(附代码)
    springboot:视图渲染技术
    Unity Xlua热更新框架(八):对象池
    lombok ---- pojo简洁之道
    前端promise理解
    代码随想录训练营day3:链表part1
    数学建模--Topsis评价方法的Python实现
  • 原文地址:https://blog.csdn.net/m0_37911706/article/details/125435673