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()
    ?>
时间: 2024-12-18 23:43:35

PHP中的private和public还有protected的区别的相关文章

typescript中private、public、protected修饰符

1.默认为public 2.当成员被标记为private时,它就不能在声明它的类的外部访问,比如: class Animal { private name: string; constructor(theName: string) { this.name = theName; } } let a = new Animal('Cat').name; //错误,'name'是私有的 3.protected和private类似,但是,protected成员在派生类中可以访问 class Animal

c++中的private/protect/public &amp; virtual

private: 私有控制符.这类成员只能被本类中的成员函数和类的友元函数访问. protected: 受保护控制符.这类成员可以被本类中的成员函数和类的友元函数访问,也可以被派生类的成员函数和类的友元函数访问. public: 共有控制符.这类成员可以被本类中的成员函数和类的友元函数访问,也可以被类作用域内的其他函数引用. virtual: C++通过虚函数实现多态."无论发送消息的对象属于什么类,它们均发送具有同一形式的消息,对消息的处理方式可能随接手消息的对象而变"的处理方式被称

C++类:private、public、friend、protected的区别

private和public的作用是让编译器帮你检查某些模块是否使用了他没权限使用的模块,也就是生成可执行代码的时候做权限检查.比如,公司里各个部门有自己私有的信息,财务部可以看所有员工工资,而销售部不可以,普通员工也不可以. 可不可以访问都是认为规定的,而且在写代码的时候程序是不会执行的,因此需要在生成代码的时候做一些检查,就像语法错误在编译的时候被检查出来一样,因为人规定了代码该如何写.访问控制也是在编译的时候检查,c++采用了private,public,protected,以及frien

深入理解C++中public、protected及private用法

深入理解C++中public.protected及private用法 这篇文章主要介绍了C++中public.protected及private用法,对于C++面向对象程序设计来说是非常重要的概念,需要的朋友可以参考下 初学C++的朋友经常在类中看到public,protected,private以及它们在继承中表示的一些访问范围,很容易搞糊涂.今天本文就来十分分析一下C++中public.protected及private用法.相信对于大家深入掌握C++程序设计会有很大的帮助. 这里我们首先要

C++中public、protected及private用法

转自:http://www.jb51.net/article/54224.htm 初学C++的朋友经常在类中看到public,protected,private以及它们在继承中表示的一些访问范围,很容易搞糊涂.今天本文就来十分分析一下C++中public.protected及private用法.相信对于大家深入掌握C++程序设计会有很大的帮助. 这里我们首先要明白下面几点. 1.类的一个特征就是封装,public和private作用就是实现这一目的.所以: 用户代码(类外)可以访问public成

java中权限修饰符public、private、protected和default的区别

1.public 可以修饰类.成员变量和成员函数,没有任何限制,同一个包中,或者不同包中的类都可以自由访问 2.private 可以修饰成员变量和成员函数,只能在本类中使用 3.default (不写权限修饰符,就是default权限)可以修饰类.成员变量和成员函数,在同一个包中,可以自由访问.如果子类和父类不在同一个包中,子类可以继承到父类中的default权限的成员变量和成员函数,但是由于权限不够,无法使用 4.protected protected权限首先拥有和default一样的功能,但

C++中public、protected、private的差别

第一: private,public,protected的訪问范围: private: 仅仅能由该类中的函数.其友元函数訪问,不能被不论什么其它訪问.该类的对象也不能訪问. protected: 能够被该类中的函数.子类的函数.以及其友元函数訪问,但不能被该类的对象訪问 public: 能够被该类中的函数.子类的函数.其友元函数訪问,也能够由该类的对象訪问 注:友元函数包含两种:设为友元的全局函数,设为友元类中的成员函数 第二:类的继承后方法属性变化: 使用private继承,父类的全部方法在子

JAVA 中的权限访问修饰符(public,protected,default,private )

JAVA中有四个权限访问修饰符:public,protected,default,private 注意:这里讲的是对类中属性和方法的访问权限,并不是类的访问权限 1.default:包访问权限 如果什么也没写,默认为default.当然也可以显式得给出default权限 default修饰的属性和方法,包中的所有其他类对那个成员都有访问权限,但是对于这个包之外的所有类没有访问权限. 2.public: 接口访问权限 public修饰的属性和方法对每个类都是可见的 3.private:类内访问权限

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

一,public,private,protected的区别 public:权限是最大的,可以内部调用,实例调用等. protected: 受保护类型,用于本类和继承类调用. private: 私有类型,只有在本类中使用. 二,实例 查看复制打印? <?php error_reporting(E_ALL); class test{ public $public; private $private; protected $protected; static $instance; public fun