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;
}
}
とてもシンプルです:)
覚えておいてください
保護されていると宣言されたメンバーは、クラス自体内で、継承されたクラスと親クラスによってのみアクセスできます
PHPマニュアルより