class A {
protected $a;
// SOME CODE
}
class B extends A {
// SOME CODE
}
如何在 B 类中编辑变量 $a 的受保护值?
我正在尝试使用parent::$a = "Some Value"
但不起作用。
class A {
protected $a;
// SOME CODE
}
class B extends A {
// SOME CODE
}
如何在 B 类中编辑变量 $a 的受保护值?
我正在尝试使用parent::$a = "Some Value"
但不起作用。
protected
实例属性,那些没有声明使用static
的,可以在子类中使用$this
:
class A {
protected $a;
// SOME CODE
}
class B extends A {
// SOME CODE
public function edit($val) {
$this->$a = $val;
echo "a is now {$this->a}\n";
}
}
称呼:
$b = new B();
$b->edit('foo'); // a is now foo
请参阅手册,尤其是示例。
class B extends A {
public function foo($val)
{
$this->a = $val;
}
}
非常简单 :)
请记住
声明为 protected 的成员只能在类本身以及继承类和父类中访问
来自php手册