(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(受保护):受保护的类成员则可以被其自身以及其子类和父类访问。

也就是说父类受保护的方法只能在子类的大括号{}内调用。用子类创建的对象是不能调用受保护的方法的

posted @ 2019-08-02 10:32  潇宸1998  阅读(259)  评论(0编辑  收藏  举报