美文网首页
类图的语法

类图的语法

作者: 部洪波 | 来源:发表于2020-07-28 00:24 被阅读0次

最基本的定义一个类:

classDiagram
    class BankAccount
    BankAccount : +String owner
    BankAccount : +Bigdecimal balance
    BankAccount : +deposit(amount)
    BankAccount : +withdrawl(amount)

从上到下依次排列:类名称、属性、方法(带括号)。classDiagram 是关键字,class是关键字,BackAccount 是类名称。定义属性和方法时,要写【类名称:】作为前缀。

还可以这样定义类,使用花括号,类似于C++的语法:

class BankAccount{
  +String owner
  +BigDecimal balance
  +deposit(amount) bool
  +withdrawl(amount) int
}

方法的返回类型是可选的。如果使用的话,要与前面的括号之间有空格。

范型的参数用两个波浪号包住,如下所示:
classDiagram
class SquareShape{
int id
Listint position
setPoints(Listint points)
getPoints() Listint
}

Square : -Liststring messages
Square : +setMessages(Liststring messages)
Square : +getMessages() Liststring

如果用C++语言来理解,可以直接把波浪号看作尖括号。

成员的可见性:

  • public
  • private

protected

~ package/internal

还可以在方法的尾部,即括号的后面,添加:

  • 抽象方法。例如,someAbstractMethod()*
    静态方法。例如,someStaticMethod()

类之间的关系:
classDiagram
class Animal
Vehicle

关系的基本语法:
[classA][Arrow][ClassB]:LabelText

可以表示下列几种关系:
Type Description

-- Link (Solid) 实线链接
..> Dependency. 依赖
..|> Realization。 实现
.. Link (Dashed)。 虚线链接

例子:
classDiagram

classI -- classJ : Link(Solid)
classK ..> classL : Dependency
classM ..|> classN : Realization
classO .. classP : Link(Dashed)

表达类实例之间数量关系的基本语法:
[classA] "cardinality1" [Arrow] "cardinality2" [ClassB]:LabelText

例子:
classDiagram
Customer "1" --> "" Ticket
Student "1" --> "1..
" Course
Galaxy --> "many" Star : Contains

类的标注(Annotations)

有如下几种:
<<Interface>> an Interface class
<<abstract>> an abstract class
<<Service>> service class
<<enumeration>> an enum
注意,书写时双尖括号不可少

例子:
classDiagram
class Shape
<<interface>> Shape
注意,要另起一行。

例子2: 嵌套式写法,适用于使用了花括号的类定义
classDiagram
class Shape{
<<interface>>
noOfVertices
draw()
}
class Color{
<<enumeration>>
RED
BLUE
GREEN
WHITE
BLACK
}

相关文章

  • 类图的语法

    最基本的定义一个类: 从上到下依次排列:类名称、属性、方法(带括号)。classDiagram 是关键字,clas...

  • 类图的6大关系详解

    类图 以下类图使用PlantUML绘制,更多语法及使用请参考:http://plantuml.com/。 泛化关系...

  • 假期英语强基计划

    1 阅读:虚构类/非虚构类(扇贝时文)高中课外阅读量30万词。 2 语法:英语兔28集加语法题目。 3 课文:图欧...

  • Mac环境下在VSCode中使用PlantUML

    PlantUML介绍 PlantUML 可以用来画类图和流程图,类似MarkDown语法那样简单实用。 第一步:安...

  • 深入React技术栈:初入React世界(2)

    JSX基本语法JSX的官方定义是类XML语法的ECMAScript的扩展。 XML基本语法使用类XML语法好处之一...

  • sharding-sphere之语法解析器

    语法解析器,根据不同类型的语句有不同的语法解析器去解析成成SQLStatement,SQL解析器的类图我用脑图画出...

  • Java 面向对象

    Java 面向对象 类?对象?定义类的语法格式:Field 定义的语法方法定义的语法::构造器定义的语法:成员变量...

  • scala(十) 抽象类和单例对象

    java中的抽象类 语法: [访问修饰符] abstract class 类名{} scala 中的抽象类 语法:...

  • HTML5 - 类名API

    给当前元素添加类样式 语法 示例 给当前元素移除类样式 语法 示例 检测当前元素添是否包含类样式 语法 示例 给当...

  • UML类图辅助记忆

    UML类图的箭头和关系的对应,总是忘记,搞一张图帮助理解,看图就行了 用plantuml画图习惯了,也要把语法贴出...

网友评论

      本文标题:类图的语法

      本文链接:https://www.haomeiwen.com/subject/anlxrktx.html