順序圖
英文是Sequence Diagram,中文有不同翻譯,如:順序圖、序列圖、循序圖、時序圖。
主要是用來表達物件與物件之間交互動作,與物件的生命周期。
物件
物件變數名 冒號: 類型
flowchart LR
id1["物件變數名:類別"]
1
Object obj1;
flowchart LR
id1["obj1:Object"]
生命線
表達物件的Life Cycle
destory
代表結束。
有些圖是省略不畫。
呼叫方法
注意!呼叫箭頭指向的物件的方法。
都直接寫方法(),前面不會加上變數名。
1
2
Object obj1;
obj1.toString();
方法執行的時段
有些圖是省略不畫。
呼叫其它物件與傳回值
在start()方法中,呼叫其它類別UserInfo,物件變數名是user,呼叫getName()方法。
傳回的線為虛線。
注意!name是傳回的值,不是呼叫方法(),後面有圓括號()的才是方法()。
由左往右開始
執行順序是由左往右。
下圖中的順序如下
- 呼叫buy.start()
- 呼叫user.getName()
- 取得name
- 呼叫bankCard.cardNumber()
- 取得信用卡號
- 呼叫bankCard.pay()
- 傳回成功或失敗的代碼,rtnCode。
同一個類別,不同物件
下圖有二個類別,分別為Transfer轉帳與Account帳戶。
下圖中有三個物件,分別為transfer與account1與account2。
下圖中執行的順序如下
- 呼叫transfer.轉帳()
- 呼叫account1.檢查餘額()
- 取得餘額
- 呼叫account1.提款()
- 傳回成功或失敗代碼,rtnCode
- 呼叫account2.轉帳()
- 傳回成功或失敗代碼,rtnCode
建立匿名物件
匿名物件就是沒有名字的物件。
匿名物件表示方式冒號: 類別
。
建立的箭頭為虛線,箭頭非實心,指向匿名物件的方框,箭頭線上的文字<<create>>
。
方法可以有參數
語法
方法(參數1, 參數2)