我不想让类示例的属性只能被它的子进程访问,但是我希望这些子进程能够从最初的__construct中更改它们。这就是我目前设置的方式。我能以更好的方式做到这一点吗?
class example{
private $x
protected function __construct($x){
setX($x);
}
private function setX($x){
$this->x = $x;
}
protected function getX{
return $this->x;
}
}
答案 0 :(得分:0)
我是否正确理解您只希望$ x可以被孩子读取(但不可编辑)?
然后是你的类定义看起来没问题(虽然语法错误)。
儿童不能访问私人会员,只能受到保护(以及公共,durhur)。
答案 1 :(得分:0)
你是说你想在函数之外使用那个getter / setter,就像这样?
$a = new Example(5);
$a->setX(25);
echo $a->getX();
如果是,您需要将它们设置为公共函数:
class Example{
private $x
protected function __construct($x){
setX($x);
}
public function setX($x){
$this->x = $x;
}
public function getX{
return $this->x;
}
}
PS:将你的班级名称大写是一个很好的实践。