標準の OOP では、基本クラスのメソッドから具象クラスのプライベート メンバーにアクセスできると断言できました。PHPはこれを別の方法で実装しているだけですか、それとも何か間違ったことをしていますか、それとも私の理解が完全に間違っていましたか?
<?php
class Base {
public function __toString() {
return $this->name;
}
}
class Concrete extends Base {
private $name;
public function __construct($name) {
$this->name = $name;
}
}
$o = new Concrete('foobar');
echo $o;
上記のコード フラグメントは、 をスローしFatal error: Cannot access private property Concrete::$name on line 5
ます。のアクセスレベルを に変更すると機能$name
しますprotected
。