对问题的抽象性质的应用程序,但尽管我正在考虑用 java 或 c# 之类的实现,但目前一般来说,这个概念让我有些烦恼。
对于大多数语言,当一个人使用布尔逻辑进行测试时,只有一个答案是有效的。
if (fridgeDoorClosed !=true)
closeFridge();
else
eatSandwich();
但是当多条路径可能是正确的时候呢?假设网页上有一个表单,用户使用复选框来选择她/他想看到的内容。一个非常不优雅的方法是:
if ((checkbox1==true)&&(checkbox2==true)&&(checkbox3==true))
blah
else if
((checkbox1==true)&&(checkbox2==true)&&(checkbox3==false))
blah
等等,当然要注意顺序。
在 java 和 c# 等语言中,可以使用 case switch 语句,省略通常的 break 语句来强制级联。但是这样的方法可以实际使用吗?