私は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 –