zoukankan      html  css  js  c++  java
  • Uml 类图

    UML图中最基本的就是类图,它描述类,并表现类之间的关系。

    PlantUml 符号含义

     
     属性  -->
     
     参数 ..>

     

    @startuml

    Class01 <|-- Class02
    Class01_0 <|.. Class022
    Class011 ..|> Class022

    Class03 *-- Class04
    Class05 o-- Class06
    Class07 *.. Class08
    Class09 -- Class10
    Class11 <|.. Class12
    Class13 --> Class14
    Class15 ..> Class16
    Class17 ..|> Class18
    Class19 <--* Class20
    Class21 *--o Class22

    @enduml


    // 基础符号的含义:
    // |>, <| 三角符号
    // -- 实线
    // .. 虚线
    // o 空心菱形 聚合
    // * 实心菱形 组合
    // > 箭头
    // # 空白正方形
    // : 标示标签 链接的文字

    //常见用法:

    // o-- 标示聚合
    // #-- 标示组合
    // ..> 依赖: 虚线
    // --> 关联: 实线


    // 空心箭头的线,标示泛化
    // 泛化关系表示类与类之间的继承关系接口与接口之间的继承关系
    // C2 继承 C1,C1是C2的父类, C2是C1的子类
    // Class01 <|-- Class02

    // 实心菱形,标示组合关系
    //c3 为主,组合c4
    // *-- 四肢
    // Class03 *-- Class04

    // 空心菱形,聚合
    // 两侧都可以独立存在,表现只是聚合关系
    // 部门 o-- 人员
    // Class05 o-- Class06

    // 虚线链接,没有实际意义
    // Class07 .. Class08

    // 实现链接,没有实际意义
    // Class09 -- Class10

    // <|.. 三角符号+虚线 实现关系
    //c1应该是interface, c2是c1的实现类
    // Class11 <|.. Class12

    // 实线+箭头 关联关系
    //
    // Class13 --> Class14

    // 虚线+箭头 依赖关系
    // Class15 ..> Class16

    // 虚线+三角 实现关系
    // Class17 ..|> Class18

    // 箭头 实线 实心菱形
    // Class19 <--* Class20

    // 实心菱形 实线 空心菱形
    // Class21 *--o Class22

    // 包的关键词 包名 类型 {内容} package demo1 <<Type>>
    // 盒子,正方体 <<Node>>
    // 平面正方形 <<Rectangle>>
    // 文件夹 <<Folder>>
    // 架子 <<Frame>>
    // 正方形,波浪线边 <<Cloud>>
    // 数据库 <<Database>>

    // 命名空间关键字 控件名称

    @startuml
    scale 750 width

    package foo1 <<Node>> {
    class Class1
    }

    package foo2 <<Rectangle>> {
    class Class2
    }

    package foo3 <<Folder>> {
    class Class3
    }

    package foo4 <<Frame>> {
    class Class4
    }

    package foo5 <<Cloud>> {
    class Class5
    }

    package foo6 <<Database>> {
    class Class6
    }

    namespace net.dummy #DDDDDD{
    Object <|-- Demo1
    Demo1 *-- Demo2
    }

    namespace net.dummyF #FFFFFF{
    Object <|-- Demo1
    Demo1 *-- Demo2
    }
    @enduml

    // 注释
    //


    // 对象 连线 对象 冒号 注释 箭头 Driver - Car : drives >
    //

    @startuml
    class Car

    Driver - Car : drives >
    Car *- Wheel : have 4 <
    Car -- Person : < owns

    @enduml

    // 添加方法
    // <|-- 实现 继承关系
    // 对象: 方法 Object: equals()
    // 对象: 属性类型 属性名称 ArrayList : Object[] element
    //

    @startuml

    Object <|-- ArrayList
    Object : equals()
    ArrayList : Object[] elementData
    ArrayList : Size()

    @enduml

    @startuml

    Class01 <|-- Class02
    Class01_0 <|.. Class022
    Class011 ..|> Class022

    Class03 *-- Class04
    Class05 o-- Class06
    Class07 *.. Class08
    Class09 -- Class10
    Class11 <|.. Class12
    Class13 --> Class14
    Class15 ..> Class16
    Class17 ..|> Class18
    Class19 <--* Class20
    Class21 *--o Class22

    @enduml


    // 基础符号的含义:
    // |>, <| 三角符号
    // -- 实线
    // .. 虚线
    // o 空心菱形 聚合
    // * 实心菱形 组合
    // > 箭头
    // # 空白正方形
    // : 标示标签 链接的文字

    //常见用法:

    // o-- 标示聚合
    // #-- 标示组合
    // ..> 依赖: 虚线
    // --> 关联: 实线


    // 空心箭头的线,标示泛化
    // 泛化关系表示类与类之间的继承关系接口与接口之间的继承关系
    // C2 继承 C1,C1是C2的父类, C2是C1的子类
    // Class01 <|-- Class02

    // 实心菱形,标示组合关系
    //c3 为主,组合c4
    // *-- 四肢
    // Class03 *-- Class04

    // 空心菱形,聚合
    // 两侧都可以独立存在,表现只是聚合关系
    // 部门 o-- 人员
    // Class05 o-- Class06

    // 虚线链接,没有实际意义
    // Class07 .. Class08

    // 实现链接,没有实际意义
    // Class09 -- Class10

    // <|.. 三角符号+虚线 实现关系
    //c1应该是interface, c2是c1的实现类
    // Class11 <|.. Class12

    // 实线+箭头 关联关系
    //
    // Class13 --> Class14

    // 虚线+箭头 依赖关系
    // Class15 ..> Class16

    // 虚线+三角 实现关系
    // Class17 ..|> Class18

    // 箭头 实线 实心菱形
    // Class19 <--* Class20

    // 实心菱形 实线 空心菱形
    // Class21 *--o Class22

    // 包的关键词 包名 类型 {内容} package demo1 <<Type>>
    // 盒子,正方体 <<Node>>
    // 平面正方形 <<Rectangle>>
    // 文件夹 <<Folder>>
    // 架子 <<Frame>>
    // 正方形,波浪线边 <<Cloud>>
    // 数据库 <<Database>>

    // 命名空间关键字 控件名称

    @startuml
    scale 750 width

    package foo1 <<Node>> {
    class Class1
    }

    package foo2 <<Rectangle>> {
    class Class2
    }

    package foo3 <<Folder>> {
    class Class3
    }

    package foo4 <<Frame>> {
    class Class4
    }

    package foo5 <<Cloud>> {
    class Class5
    }

    package foo6 <<Database>> {
    class Class6
    }

    namespace net.dummy #DDDDDD{
    Object <|-- Demo1
    Demo1 *-- Demo2
    }

    namespace net.dummyF #FFFFFF{
    Object <|-- Demo1
    Demo1 *-- Demo2
    }
    @enduml

    // 注释
    //


    // 对象 连线 对象 冒号 注释 箭头 Driver - Car : drives >
    //

    @startuml
    class Car

    Driver - Car : drives >
    Car *- Wheel : have 4 <
    Car -- Person : < owns

    @enduml

    // 添加方法
    // <|-- 实现 继承关系
    // 对象: 方法 Object: equals()
    // 对象: 属性类型 属性名称 ArrayList : Object[] element
    //

    @startuml

    Object <|-- ArrayList
    Object : equals()
    ArrayList : Object[] elementData
    ArrayList : Size()

    @enduml
  • 相关阅读:
    套接字编程,创建套接字socket
    网络编程基本原理
    进一步学习的书籍
    C# 基础备忘录
    二进制转文件以及文件压缩和解压缩
    使用用WCF中的双工(Duplex)模式将广告图片推送到每个Winform客户端机子上
    C#两个日期范围内的间隔
    C#中XML文档注释编译DLL引用到其它项目
    用T4模版生成对应数据库表的实体类
    lodop打印控件需要开启的几个计算机服务
  • 原文地址:https://www.cnblogs.com/mailaidedt/p/10300094.html
Copyright © 2011-2022 走看看