class Master{
protected static $DB;
function __construct(){
static::$DB = new DB();
$view = new View();
}
}
class DB extends Master{
private function ReturnSomeData(){
return $data;
}
}
class View extends Master{
public function ViewData(){
$DBdata = static::$DB->ReturnSomeData();
}
}
致命错误:从上下文“查看”
调用私有方法DB :: ReturnSomeData()如何从View类访问ReturnSomeData()方法?有没有类似“门户”的东西?
class Master {
... }
class DB extends Master{
...
public function PassItToMe(){
return $this;
}
}
class View extends Master{
public function ViewData(){
$DBdata = static::$DB->PassItToMe()->ReturnSomeData();
}
}
这是我的照片,但我真的输了。 我的想法是,我想从一个子类访问另一个子类的私有方法。
答案 0 :(得分:2)
您必须选择:
ReturnSomeData()
私密吗?好的,你将无法从外部类[甚至子类]访问它; ReturnSomeData()
?设为public
。我的想法是制作private
[或protected
] 字段,以及公共访问者,以防万一,这是其中一个要点encapsulation。