我可以过早地从类构造函数退出(返回)吗?



如果构造函数中的一个参数满足某个条件,我需要过早地退出类构造函数,我可以像下面的示例中那样使用 return 还是有另一种方法可以做到这一点?

class Test {
public function __construct( arg1, arg 2 ) {
switch case( arg2 ) {
case 'case1':
...do some settings for the code to follow...
break;
case 'case2':
return; // Can I do this?
break;
}
...Other code to execute if args2 wasn't 'case2'...
}
}

感谢所有会回答的人。

编辑

对于任何可能觉得这个问题很奇怪的人:在某些语言中,构造函数应该返回特定的值才能实际创建一个类,这就是我问的原因。

__construct只是由正常函数调用调用的普通函数,是的,您可以随时从该函数return,就像使用任何其他函数一样。请注意,无论您从__constructreturn的任何都将被忽略,但这显然无关紧要。

出于这个原因(__construct不返回任何内容(,出于可读性原因,我会避免过早退出,但没有技术原因。我宁愿更喜欢构造函数的if-this-do-that模式,而不是if-this-stop-过早模式。

最新更新