(public丶private丶protected) 的理解
- public(公有):公有的类成员可以在任何地方被访问。
- protected(受保护):受保护的类成员则可以被其自身以及其子类和父类访问。
- private(私有):私有的类成员则只能被其定义所在的类访问。
子类从父类那里继承过来的私有成员和方法是不能够被子类调用的
<?php class A { public function A1() { echo 'A中的A1方法被调用'.'<br/>' ; } protected function B1() { echo 'B1' . '<br/>'; } private function C1() { echo 'B1' . '<br/>'; } } class B extends A { public function A1() { echo 'A1已被修改' . '<br/>'; } } $A = new A(); $B = new B(); $A->A1(); $B->B1();//报错 $B->A1();
本段代码中,我用class B继承了 class A;再用class B创建了一个实例$B.然而$B并不能访问 class A 中的protect方法;
问了老板。看了概念
- protected(受保护):受保护的类成员则可以被其自身以及其子类和父类访问。
也就是说父类受保护的方法只能在子类的大括号{}内调用。用子类创建的对象是不能调用受保护的方法的