我有一個類在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 –