PHP中的private和public还有protected的区别

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP中的private和public还有protected的区别相关的知识,希望对你有一定的参考价值。

  最近H5项目繁忙,没空写php的学习心得。今天补上:


  在接触PHP的最开始,我首先是看了PHP的源代码,PHP的源代码大致分四层:SAPI:接口层、main业务层、zend、以及扩展层EXT;这就是我对它的一个印象;废话少说,

  PHP中private和public还有protected的区别:

  顾名思义,如果你有记得高中英语,那么就很容易理解这三个单词的意思了,

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

  说的文绉绉的,什么鬼来的?看以下代码:

  

  <?
    //父类
    class father{
     public function a(){
      echo "a";
     }
     private function b(){
      echo "b";
     }
     protected function c(){
      echo "c";
     }
    }
    //子类
    class child extends father{
      function d(){
        parent::a();//调用父类的a方法
      }
      function e(){
       parent::c(); //调用父类的c方法
      }
     function f(){
        parent::b(); //调用父类的b方法
      }
    }
    $father=new father();
    $father->a();
    $father->b(); //显示错误 外部无法调用私有的方法 Call to protected method father::b()
    $father->c(); //显示错误 外部无法调用受保护的方法Call to private method father::c()
    $chlid=new child();
    $chlid->d();
    $chlid->e();
    $chlid->f();//显示错误 无法调用父类private的方法 Call to private method father::b()
    ?>

 




以上是关于PHP中的private和public还有protected的区别的主要内容,如果未能解决你的问题,请参考以下文章

如何区别java中的public,private,protected

php class中public,private,protected的区别,以及实例

php 关键字 public private protect final static const

Java中public,private,protected,和默认的区别

php 定义类属性和方法的public protected private 修饰词的区别

php public protected private属性实例详解