在我调用它并选择哪个函数取决于某些条件时,通常我会想要从类中执行一些方法。这导致我编写类似于案例1的类,因为它允许我快速包含它们的功能。另一种选择是案例2,如果有很多代码可能需要花费很多时间,并且当我将类放入不同的页面时,意味着要编写两次更多的代码。
话虽如此,案例1由于某种原因而感到非常错误,因为我无法完全按手指。我想,我还没有真正看到任何类似的课程。
编写类似案例1的案例或者案例2优先级是否有任何问题?或者,还有更好的方法?各有哪些优缺点?
案例1
class Foo {
public function __construct($bar) {
if($bar = 'action1') $this->method1();
else if($bar = 'action2') $this->method2();
else $this->method1();
}
public function method1() { }
public function method2() { }
}
$bar = 'action1'
$foo = new Foo($bar);
案例2
class Foo {
public function __construct() { }
public function method1() { }
public function method2() { }
}
$foo = new Foo;
$bar = 'action1';
if($bar == 'action1') $foo->method1();
else if($bar == 'action2') $foo->method2();
else $foo->method1();
答案 0 :(得分:0)
如果对象初始化需要要调用的方法之一,则调用一个。否则第二种形式是可以接受的。