類別圖:生物分類學(組合模式)

Example: 生物分類學


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
@startuml

interface Component
{
+ add(Component component)
+ remove(Component component)
+ displayClassifiaction(int depth)
}

abstract class DashHelper
{
+ getDashes(int count)
}

class Composite
{
+ name: string
# children: Component[]

+ __construct(string name)
- displaySelfClassification(int depth)
- displayChildrenClassification(int depth)
}

class Leaf
{
+ name: string

+ __construct(string name)
}

Component <|.. Composite
Component --o Composite
DashHelper <|-- Composite

Component <|.. Leaf
DashHelper <|-- Leaf

class Program
{
+ getTaxonomy()
}

Composite <-- Program
Leaf <-- Program

@enduml

(註:此處DashHelper以abstract class表示trait)

ʕ •ᴥ•ʔ:若不熟悉 UML 類別圖,可參考UML類別圖說明

Share