阳光肺科

 找回密码
 立即注册

微信扫码登录

搜索

[Mermaid] classDiagram(类图)

[复制链接]
bjph 发表于 2024-8-6 13:21:32 | 显示全部楼层 |阅读模式

马上注册,阅读更多内容,享用更多功能!

您需要 登录 才可以下载或查看,没有账号?立即注册

×
类图是面向对象建模的主要构建块。它用于应用程序结构的一般概念建模,以及用于将模型转换为编程代码的详细建模。类图也可以用于数据建模。类图中的类表示主要元素,应用程序中的交互以及要编程的类。
就是大了点,以我现在的能力是无法改变的。
功能

  • UML提供了表示类成员的机制,例如属性和方法,以及有关它们的其他信息。图中一个类的单个实例包含三个隔离专区:
顶部的小节包含类的名称。它以粗体和居中打印,并且第一个字母大写。它还可能包含描述类性质的可选注释文本。
中间隔离专区包含类的属性。它们左对齐,第一个字母为小写。
底部的隔离区包含类可以执行的操作。它们也左对齐,首字母为小写。
  • 定义类
    定义类有两种方法:
  • 使用关键字类(如)明确定义一个类class A.
  • 通过它们之间的关系定义两个类A <|-- B
    命名约定:类名应由字母数和下划线字符组成。

    classDiagram

    class A

    A <|-- B




  • 定义成员
    根据括号()是否存在来区分属性和函数/方法。与()一起的被视为函数/方法,而其他被视为属性。
    使用:(冒号)后跟成员名称来关联类的成员

    classDiagram

    Animal <|-- Duck

    Animal <|-- Fish

    Animal <|-- Zebra

    Animal : +int age

    Animal : +String gender

    Animal : +isMammal()

    Animal : +mate()

    Duck : +String beakColor

    Duck : +swim()

    Duck : +quack()

    Fish : -int sizeInFeet

    Fish : -canEat()

    Zebra : +bool is_wild

    Zebra : +run()




Animal
+int age
+String gender
+isMammal()
+mate()

Duck
+String beakColor
+swim()
+quack()

Fish
-int sizeInFeet
-canEat()

Zebra
+bool is_wild
+run()

  • 能见度
    为了指定类成员的可见性(即任何属性或方法),可以将这些符号放在成员名称的前面,但它是可选的:
    1.+Public
    2.-Private

   classDiagram

     AA <|-- BB

     AA : +a()

     BB : -b()


AA
+a()

BB
-b()

连线
大概定义为:
类型1 关系 类型2 : 注释
[td]
代码
代码
解释
`<
--`
`--
*--
--*
实线菱头
o--
--o
实线空菱
<--
-->
实线箭头
--
--
实线直连
<..
..>
实线箭头
`<
..`
`..
..
..
实线直连

例如:

     classDiagram

       A1 <|-- B1

       B1 --|> C1

       A2 *-- B2

       B2 --* C2

       A3 o-- B3

       B3--o C3

       A4 <-- B4

       B4--> C4

       A5 -- B5

       B5-- C5

       A6 <.. B6

       B6..> C6

       A7 <|.. B7

       B7 ..|> C7

       A8 .. B8

       B8 .. C8
[color=var(--cnb-code-color,inherit)]LUA 复制 全屏


















A1

B1

C1

A2

B2

C2

A3

B3

C3

A4

B4

C4

A5

B5

C5

A6

B6

C6

A7

B7

C7

A8

B8

C8


hzoi_lyinmx

[mermaid]classDiagram
class A
A <|-- B[/mermaid]


[mermaid]
    classDiagram
    class A
    A <|-- B
[/mermaid]




    classDiagram
    Animal <|-- Duck
    Animal <|-- Fish
    Animal <|-- Zebra
    Animal : +int age
    Animal : +String gender
    Animal : +isMammal()
    Animal : +mate()
    Duck : +String beakColor
    Duck : +swim()
    Duck : +quack()
    Fish : -int sizeInFeet
    Fish : -canEat()
    Zebra : +bool is_wild
    Zebra : +run()

[mermaid]classDiagram
    Animal <|-- Duck
    Animal <|-- Fish
    Animal <|-- Zebra
    Animal : +int age
    Animal : +String gender
    Animal : +isMammal()
    Animal : +mate()
    Duck : +String beakColor
    Duck : +swim()
    Duck : +quack()
    Fish : -int sizeInFeet
    Fish : -canEat()
    Zebra : +bool is_wild
    Zebra : +run()[/mermaid]
 楼主| bjph 发表于 2024-8-6 13:32:00 | 显示全部楼层
[mermaid]

    classDiagram
    note "From Duck till Zebra"
    Animal <|-- Duck
    note for Duck "can fly\ncan swim\ncan dive\ncan help in debugging"
    Animal <|-- Fish
    Animal <|-- Zebra
    Animal : +int age
    Animal : +String gender
    Animal: +isMammal()
    Animal: +mate()
    class Duck{
        +String beakColor
        +swim()
        +quack()
    }
    class Fish{
        -int sizeInFeet
        -canEat()
    }
    class Zebra{
        +bool is_wild
        +run()
    }[/mermaid]

给我们建议|手机版|阳光肺科 ( 粤ICP备2020077405号-1 )

GMT+8, 2024-11-24 11:10

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表