빠른 관찰 :
이
(1) 기억은, 클래스/객체 자체 ("해봐요을") 메시지를 보낼 수 있다는 것을, 이 있습니다 "대안"appreaciate 더 diificult.
(2) "alt"를 사용할 때 조건을 언급해야합니다. "alt"는 "if-then-else", "switch-case"및 프로그래밍 언어의 유사한 개념을 나타냅니다.
이러한 문장에는 UML 다이어그램 ("[조건]")에 추가해야하는 조건이 있습니다.
(3) "alt"의 각 조건이나 케이스 안에는 여러 개체 사이 또는 여러 개체 사이에 여러 개의 메시지가 있거나 없음 ("반환"화살표 만 있음)이있을 수 있습니다.
..........................................................
.......+---------+..............+---------+...............
.......| Foo |..............| Bar |...............
.......+----+----+..............+----+----+...............
............|........................|....................
..........+-+-+....................+-+-+..................
..........| |......methodX().....| |..................
..........| +------------------->+ |..................
..........| |....................| |..DoSomething()...
..........| |....................| +---+..............
..........| |....................| |...|..............
..........| |....................| |...|..............
..........| |....................| |...|..............
..........| |....................| |<--+..............
..........| |....................| |..................
..+-----+-------------------------------------+...........
..|.alt.|.| |....................| |......|...........
..+-----+-------------------------------------+...........
..|.[option=1].....................| |......|...........
..|.......| |....................| |......|...........
..|.......| |....................| +---+..|...........
..|.......| |....................| |...|..|...........
..|.......| |....................| |...|..|...........
..|.......| |....................| |...|..|...........
..|.......| |....................| |<--+..|...........
..|.......| |<-------------------+ |......|...........
..|.......| |....................| |......|...........
..+-----+-------------------------------------+...........
..|.[option=2].....................| |......|...........
..|.......| |....................| |......|...........
..|.......| |....................| |......|..// The wide bar its kept,
..|.......| |<-------------------+ |......|..// even if there is a
..|.......| |....................| |......|..// previous return arrow
..+-------------------------------------------+...........
..|.[else]|...|....................| |......|...........
..|.......| |....................| |......|...........
..|.......| |....................| |......|...........
..|.......| |<-------------------+ |......|...........
..|.......| |....................| |......|...........
..+-------------------------------------------+...........
..........| |....................| |..................
..........+-+-+....................+-+-+..................
............|........................|....................
............|........................|....................
............X........................X....................
..........................................................
건배.
경찰서. 고양이를위한 치즈 버거 또는 참치 샌드위치 버거?
당신의 대답은 방법에서 둘 이상의 반환 선을 그리는 방법에 대한 나의 문제를 해결하지 못합니다. doSomething()의 반환 줄은 호출하는 클래스/객체 (예 : Foo가 아니라 Bar)를 가리킬 수 있습니다. 예 : UML 도구로 사용해보십시오. 아스타. – aleung
아스키 드로잉을 명확하게하기 위해 가드를 생략했습니다. – aleung
@aleung : 업데이트를 확인하십시오. 이전에 "돌아 가기 화살표"가있는 경우에도 클래스 와이드 막대가 유지됩니다. "가드"가 사실이 아니라면 생략되고 무시되며 다음 존재하는 "alt"등을 확인하십시오. 차트는 첫 번째 가드에서 넓은 막대를 자릅니다. – umlcat