我知道
alt
相当于 UML 中的 if else
,但是如何表示更复杂的条件,例如:
if (condition1 && condition2) else condition3
是
[condition1 == true]&&[condition2==true]
吗?
条件已经为真或为假。将它与另一个布尔值进行比较是很奇怪的。尝试学习布尔代数。这是 IT 中非常基本的东西。
组合片段(例如
alt
)的操作数中的守卫是交互约束。
UML 对于如何指定此类约束提供了充分的灵活性:
用户定义的约束的规范通常表示为某种语言中的文本字符串,其语法和解释由该语言定义。在某些情况下,形式语言(例如 OCL)或编程语言(例如 Java)可能是合适的,在其他情况下可能使用自然语言。
换句话说,
condition1 && condition2
可以完全没问题。如果您更喜欢 OCL 语法,那就是 condition1 and condition2
。