• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    PHP实现在对象之外访问其私有属性private及保护属性protected的方法

    本文实例讲述了PHP实现在对象之外访问其私有属性private及保护属性protected的方法。分享给大家供大家参考,具体如下:

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

    比较经典的用法示例如下:

    ?php
     //父类
     class father{
     public function a(){
     echo "function abr/>";
     }
     private function b(){
     echo "function bbr/>";
     }
     protected function c(){
     echo "function cbr/>";
     }
     }
     //子类
     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()
    ?>
    
    

    运行结果:

    function a
    function a
    function c
    

    在对象之外,php访问私有及保护属性实现方法如下:

    class yunke
    {
     protected $a = 55;
     private $b = 66;
     public function merge()
     {
     $result = clone $this;
     $result->a=88;
     $result->b=99;
     return $result;
     }
     public function show()
     {
     echo $this->a;
     echo $this->b;
     }
    }
    $test = new yunke;
    $test->show();
    $test2=$test->merge();
    $test2->show();
    
    

    输出:

    55668899
    
    

    更多关于PHP相关内容感兴趣的读者可查看本站专题:《php面向对象程序设计入门教程》、《PHP数组(Array)操作技巧大全》、《PHP基本语法入门教程》、《PHP运算与运算符用法总结》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

    希望本文所述对大家PHP程序设计有所帮助。

    您可能感兴趣的文章:
    • PHPUnit测试私有属性和方法功能示例
    • PHP获取类私有属性的3种方法
    上一篇:PHP空值检测函数与方法汇总
    下一篇:PHP实现UTF8二进制及明文字符串的转化功能示例
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    PHP实现在对象之外访问其私有属性private及保护属性protected的方法 PHP,实,现在,对象,之外,访问,