php中对属性或方法的访问控制的介绍(代码示例)

如果下载的源码需要作者授权,请更换源码。本站免费分享资源不会增加授权

本篇文章给大家带来的内容是关于php中对属性或方法的访问控制的介绍(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

PHP中对属性或方法的访问控制,是通过在前面添加关键字public(公有)、protected(受保护)或 private(私有)来实现的。被定义为public的类成员可以在任何地方被访问,被定义为protected的类成员则可以被其自身以及其子类和父类访问。被定义为private的类成员则只能被其定义所在的类访问。

类属性必须定义为public、protected或private。如果用var定义,则被视为public。子类可以修改基类public和protected的属性的值。

<?php class A{     var $a="a";     protected $b="b";     private $c="c";          function printVar(){         echo $this->a.";".$this->b.";".$this->c.";"."n";     } } class B extends A{     public $a="aa";     protected $b="bb";     private $c="cc"; } $a=new A(); $a->printVar(); $b=new B(); $b->printVar(); ?>

类的必须定义为public、protected或private。如果未指定则视为public。子类可以覆盖基类public和protected的函数。

<?php class A{     public function fa(){         echo "A->fan";     }     protected function fb(){         echo "A->fbn";     }     private function fc(){         echo "A->fcn";     }     function showFoo(){         $this->fa();         $this->fb();         $this->fc();     } } class B extends A{     function fa(){         echo "B->fan";     }     protected function fb(){         echo "B->fbn";     }     private function fc(){         echo "B->fcn";     } } $a=new A(); $a->showFoo(); $b=new B(); $b->showFoo(); ?>

同一个类的对象,即使不是同一个实例也可以互相访问对方的私有与受保护成员,因为这些对象的内部具体实现的细节都是已知的。

<?php class A {     private $a;      public function __construct($a)     {         $this->a = $a;     }      private function fa()     {         echo 'private method fa.';     }      public function foo(A $other,$v)     {         $other->a = $v;         var_dump($other->a);         $other->fa();     } }  $a = new A('a'); $aa=new A('aa'); $a->foo($aa,'newA'); ?>
本文由(壳先生)整理自网络,如转载请注明出处:https://www.mrshell.com;
本站发布的内容若侵犯到您的权益,请邮件联系 i@mrshell.com 删除,我们将及时处理!
===========================================================================

1. 本站大部分下载资源收集于网络,不保证其完整性以及安全性,请下载后自行测试。
2. 本站资源仅供学习和交流使用,版权归资源原作者所有,请在下载后24小时之内自觉删除。
3. 不得使用于非法商业用途,商用请支持正版!不得违反国家法律,否则后果自负!
4. 若作商业用途,请购买正版,由于未及时购买和付费发生的侵权行为,与本站无关。
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!

=================================================================

壳先生 » php中对属性或方法的访问控制的介绍(代码示例)

发表评论

提供最优质的资源集合

立即查看 了解详情