如果构造函数中的一个参数满足某个条件,我需要过早地退出类构造函数,我可以像下面的示例中那样使用 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
,就像使用任何其他函数一样。请注意,无论您从__construct
return
的任何值都将被忽略,但这显然无关紧要。
出于这个原因(__construct
不返回任何内容(,出于可读性原因,我会避免过早退出,但没有技术原因。我宁愿更喜欢构造函数的if-this-do-that模式,而不是if-this-stop-过早模式。