class a{
public function m(){
echo 'aa';
}
public function run(){
$this->m();
}
}class b extends a{
public function m(){
echo 'bb';
}
}$li = new b();
$li->run();
谁能跟我分析一下这为什么是访问的b类里面的m方法,如果把a类的m方法权限改为private,又为什么变成访问的是a类的m方法了。。
声明一个类的时候,如果这个类继承某个类,那么这父类的方法在子类中是如何体现的,完全复制一份吗?
public function m(){
echo 'aa';
}
public function run(){
$this->m();
}
}class b extends a{
public function m(){
echo 'bb';
}
}$li = new b();
$li->run();
谁能跟我分析一下这为什么是访问的b类里面的m方法,如果把a类的m方法权限改为private,又为什么变成访问的是a类的m方法了。。
声明一个类的时候,如果这个类继承某个类,那么这父类的方法在子类中是如何体现的,完全复制一份吗?
因为 b 类的 m 方法覆盖了 a 的 m 方法如果把a类的m方法权限改为private,又为什么变成访问的是a类的m方法了?
因为私有的是不会被继承的(私有的是不可侵犯的)继承就是将可继承的方法融为一体