zhangbinmy 发表于 2017-3-4 06:36:40

{{PHP}}PHP继承的访问控制

{{PHP}}PHP继承的访问控制

当说到继承,就不得不提到访问控制。继承在不同的访问控制权限下有不同的表现。以成员方法为例,我们可以使用private和protected访问修饰符来控制需要继承的内容。

private   如果一个成员被指定为private,它将不能被继承。实际上在PHP中这个方法会被继承下来,只是无法访问。
protected如果一个成员被指定为protected,它将在类外不可见,可以被继承。

看一个PHP的示例:

class Base {
private function privateMethod() {
}
}

class Child extends Base{
public function publicMethod() {
}
}

$c = new Child();

if (method_exists($c, 'privateMethod')) {
echo 1;
}else{
echo 0;
}

  这段代码会输出1,至此,我们可以证明:在PHP中,对于私有方法,在继承时是可以被继承下来的。
  请见:https://github.com/billfeller/tipi/blob/master/book/chapt05/05-04-class-inherit-abstract.markdown
页: [1]
查看完整版本: {{PHP}}PHP继承的访问控制