在我的Decision类中,我有3个条件语句如下:
GeneralCondition类包含promptUser(user)。
class Decision extends GeneralCondition{
private boolean hasChildrens(User user){
return user.getHaveChilds();
}
private boolean hasSpouse(User user){
return user.getHaveSpouse();
}
private boolean newUser(User user){
return user.isNewUser();
}
boolean interruptUser(User user){
boolean hasChildrens=boolean hasChildrens(User user);
boolean hasSpouse= boolean hasSpouse(User user);
boolean newUser= newUser(User user);
return hasChildrens||hasSpouse||newUser;
}
}
//下面是类caalling interruptUser():
类UserCondition扩展了GeneralCondition {
GeneralCondition gcon = new GeneralCondition();
如果(gcon.interruptUser(用户)){
//重定向到条件PopUp Flow;
}
否则
{
//重定向到主页;
}
}
interruptUser(user)
由其他对象调用。当我每次返回False时都使用上述所有3个条件,即使它是真的;当我只使用2个条件时,它按预期工作。请说明可能的原因。
答案 0 :(得分:1)
好像你正试图用Java编程语言测试这个程序。问题是你的代码不正确,最不可能编译。
答案 1 :(得分:0)
试试这个。该函数需要传入User对象,然后将该对象传递给需要它的每个测试函数。
boolean interruptUser(User user){
boolean hasChildrens = hasChildrens(user);
boolean hasSpouse = hasSpouse(user);
boolean newUser = newUser(user);
return hasChildrens || hasSpouse || newUser;
}