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 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64
| @startuml
interface CentralNervousSystem { + sendMessage(string organName, string message): string }
interface Executable { + execute(string message): string }
class Brain { # organs: Organ[]
+ setOrgan(Organ organ) }
CentralNervousSystem <|.. Brain
abstract class Organ { # name: string # brain: Brain
+ __construct(Brain brain) + getName(): string }
Executable <|.. Organ Brain -o Organ Brain <- Organ
Organ <|-- Eye Organ <|-- Ear Organ <|-- Hand Organ <|-- Mouth Organ <|-- Face
class Program { # brain: Brain # eye: Eye # ear: Ear # hand: Hand # mouth: Mouth # face: Face
+ __construct() + see(string item): string + hear(string item): string - resolveBrainAndOrgans() - resolveOrgans() }
Brain <- Program Eye <-- Program Ear <-- Program Hand <-- Program Mouth <-- Program Face <-- Program
@enduml
|
ʕ •ᴥ•ʔ:若不熟悉 UML 類別圖,可參考UML類別圖說明。