PHP中 private、public、protected的区别

public         表示全局,类内部外部子类都可以访问;
private       表示私有的,只有本类内部可以使用;
protected   表示受保护的,只有本类或子类或父类中可以访问;

下面看一下具体代码:

father.php
<?php 
// 父类
class father
{

     // 全局
     public function a(){
        echo "function a";
     }
     // 私有的
     private function b(){
          echo "function b";
     }
     // 受保护的
     protected function c(){
          echo "function c";
     }
}


//子类继承父类
class child extends father{
      //调用父类的a方法
      function d(){
            parent::a();
      }
      //调用父类的c方法
      function e(){
           parent::c();
      }
      //调用父类的b方法  --- 编辑器直接提示语法错误
     function f(){
        parent::b();
    }
}

$father=new father();

$father->a();

/**
 * 编辑器提示 Member has private access
 * 显示错误 外部无法调用私有的方法 Call to protected method father::b()
 */
$father->b();

/**
 * 编辑器提示 Member has private access
 * 显示错误 外部无法调用受保护的方法Call to private method father::c()
 */

$father->c(); 

$chlid=new child();

$chlid->d();

$chlid->e();

$chlid->f();//显示错误 无法调用父类private的方法 Call to private method father::b()

?>

  

猜你喜欢

转载自www.cnblogs.com/cutcop/p/13202369.html