クラス図
(Class Diagram)
サンプル
classDiagram
class Animal{
+name: String
+age: int
+eat()
}
class Dog{
+breed: String
+bark()
}
Animal <|-- Dog
クラス
クラスを定義できます。
class Sample
インターフェイス
class Sample {
<<Interface>>
}
抽象クラス
class Sample {
<<abstract>>
}
パッケージ
danger
mermaid.jsではパッケージはサポートされません。
パッケージの中にクラス、インターフェース、抽象クラスを定義
danger
mermaid.jsではパッケージはサポートされません。
フィールド
fieldA : int
メソッド
methodA() : void
可視性
これはjavaの可視性を強く感じる要素かもしれません...。
private
-fieldA : int
-methodA() : void
protected
#fieldA : int
#methodA() : void
package private
~fieldA : int
~methodA() : void
public
+fieldA : int
+methodA() : void
static
fieldA : int$
methodA() : void$
abstract
danger
mermaid.jsではabstractはサポートされません。
ステレオタイプ
class Sample {
<<ステレオタイプ>>
}
クラス間などの関係
継承
ClassA <|-- ClassB
実装
InterfaceA <.. ClassA
内部クラス
danger
mermaid.jsでは内部クラスはサポートされません。
依存
ClassA <|-- ClassB
集約
子が親から独立して存在できる関係を表しそうですが…。
あまり使わない要素かもしれませんw
ClassA *-- ClassB
構成
子が親から独立して存在できない関係を表すそうですが…。
あまり使わない要素かもしれませんw
ClassA o-- ClassB
リンク(実線)
ClassA -- ClassB
リンク(点線)
ClassA .. ClassB
ラベル
ラベルはリンク(実践)以外でも定義できますが、ここでは代表としてリンクにラベルを付ける形で記載しています。
ClassA -- ClassB : ラベル
ラベルに矢印の追加
danger
mermaid.jsではラベルに矢印の追加はサポートされません。
多重度
多重度はリンク(実践)以外でも定義できますが、ここでは代表としてリンクにラベルを付ける形で記載しています。
warning
一応、動作はするものの期待通りとは・・・
ClassA "1..*" -- "*" ClassB
ノート
danger
mermaid.jsではノートはサポートされません。
全体の設定
タイトル
タイトルを定義できます。
warning
定義はできるけどタイトル表示されない
title 新基盤構築計画
ヘッダ
ヘッダを定義できます。
warning
定義はできるけどヘッダ表示されない
header 新基盤構築計画
フッタ
フッタを定義できます。
warning
定義はできるけどフッタ表示されない
footer フッタ
キャプション
キャプションを定義できます。
caption キャプション
行コメント
%%
から始まる行は行コメントとして扱われます。
ブロックコメント
%%{
から%%}
まではブロックコメントとして扱われます。