• 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在一个带卷角的长方形中显示给出的注释,并使用虚线将这个带卷角的长方形和它所注释的实体连接起来

                               

     

     

     

     

     

     

     

     

  • 相关阅读:
    【低码】asp.net core 实体类可生产 CRUD 后台管理界面
    pod(七):静态pod
    gitlab访问报错: Whoops, GitLab is taking too much time to respond
    【LeetCode75】第五十四题 咒语和药水的成功对数
    图09 --- 最小费用最大流问题
    一般做家庭用电的考什么样式的电工证?应急管理厅低压电工
    linux中yum -y install mysql为什么默认是mariadb?以及mysql yum源的配置
    【CSS】实现垂直居中
    校验ChatGPT 4真实性的三个经典问题:提供免费测试网站快速区分 GPT3.5 与 GPT4
    Java集合框架之Map集合
  • 原文地址:https://blog.csdn.net/m0_37911706/article/details/125435673