在UML序列圖中,一個方法只能有一個返回行(至少在Astah中,我無法從一個方法中繪製兩條回線),我如何在if-else塊?如何在UML序列圖中繪製多個回報
在下面的示例中,返回行'a'結束methodX(),如何繪製返回行'b'?
String methodX(int i) {
if (i>0)
return 'a';
else
return 'b';
}
+------------+ +------------+
| Foo | | Bar |
+-----+------+ +------+-----+
| |
| methodX(i) |
+-+----------------------->+-+
| | | |
+-----+------------------------------------+
| alt | | | [i>0] | | |
+-----+ | | a | | |
| | |<- - - - - - - - - - - -+-+ |
| | | | |
| | | | |
+------------------------------------------+
| | | [else] | |
| | | | |
| | | b | |
| | |<- - - - - - - - - - - - | ?? |
| | | | |
| | | | |
+------------------------------------------+
| | |
+-+ |
+ +
您的答案不能解決我的問題,即如何從方法中繪製多個返回行。 doSomething()的返回行只允許指向調用它的類/對象,在示例中它是Bar而不是Foo。請使用UML工具嘗試Astah。 – aleung
我省略了衛兵,使ascii圖畫清晰。 – aleung
@aleung:請檢查更新。即使前面有「返回箭頭」,班級寬欄也會保留。如果一個「警衛」不是真的,那麼它被省略,並被忽略,因爲它不存在,並檢查下一個「alt」,依此類推。你的圖表,在第一個「後衛」上切出寬條。 – umlcat