我有一个类在PHP中,想知道是否有一个特定的约定如何在我的构造函数中设置这些私有变量。如何在PHP中设置类变量?
我应该使用我的setter
还是this
?
class foo {
private $bar;
public function __construct($foobar) {
$this->bar = $foobar;
}
public function setBar($bar) {
$this->bar = $bar;
}
public function getBar() {
return $this->bar;
}
}
OR
class foo {
private $bar;
public function __construct($foobar) {
$this->setBar($foobar);
}
public function setBar($bar) {
$this->bar = $bar;
}
public function getBar() {
return $this->bar;
}
}
或者是我的问题只是哲学? 同样的问题可以用getters
询问。但我想你在处理父类的私有变量时必须使用setters
和getters
。
由于你的getter和setter字面上没有任何限制,所以不需要设置变量,你可以将它设置为public并直接修改; –
好点。所以,只有当你想在别的地方做点别的事情时才使用'setters'和'getters',然后按原样返回它们呢? – Jurik
@NiettheDarkAbsol - 我不同意。 1)把所有东西都作为对象的一种方法 - 避免混淆2)如果要计算其中的一个,将来会发生什么?请参阅http://programmers.stackexchange.com/questions/176876/why-shouldnt-i-be-using-public-variables-in-my-java-class –