摘要:被定义为公有的类成员可以在任何地方被访问。请看下面示例代码来自官方文档如上面代码所示我们用一个类的实例对象访问一个类的私有或者受保护的成员属性时,会抛出一个致命错误。下面是文章标题要做的事情,访问实例对象的私有属性。
在介绍关键部分之前,我们先回顾一下php面向对象的访问控制。
对属性或方法的访问控制,是通过在前面添加关键字 public(公有),protected(受保护)或 private(私有)来实现的。被定义为公有的类成员可以在任何地方被访问。被定义为受保护的类成员则可以被其自身以及其子类和父类访问。被定义为私有的类成员则只能被其定义所在的类访问。
类属性必须定义为公有,受保护,私有之一。如果用 var 定义,则被视为公有。
请看下面示例代码(来自官方文档 http://php.net/manual/en/lang...:
public; echo $this->protected; echo $this->private; } } $obj = new MyClass(); echo $obj->public; // Works echo $obj->protected; // Fatal Error echo $obj->private; // Fatal Error $obj->printHello(); // Shows Public, Protected and Private
如上面代码所示,我们用一个类的实例对象访问一个类的私有或者受保护的成员属性时,会抛出一个致命错误。
下面是文章标题要做的事情,访问php实例对象的私有属性。
按照我们正常的做法,一般都会是写一个public的方法,再返回这个属性。
public function getPrivate() { return $this->private; }
事实是我们本就应该这样做。
下面说是只是特殊场景下的使用方法,平时写代码希望大家不要乱来。
a = "other"; var_dump($other->a); } } $aa = new A(); $aa->test();
如上代码所示,我们new了一个新的A对象出来,再给这个实例的私有属性a赋值,竟然没有报错!
解释:因为同一个类的对象即使不是同一个实例也可以互相访问对方的私有与受保护成员。这是由于在这些对象的内部具体实现的细节都是已知的。
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/25957.html
摘要:轻量应用服务器是阿里云面向入门级云计算及简单应用用户,提供基于单台云服务器的域名管理应用部署安全和运维管理的一站式综合服务。轻量应用服务器,是可快速搭建且易于管理的轻量级云服务器。上传至云服务器,用或者都可以。总结一下使用wordpress搭建个人博客的三大步骤: 1.购买阿里云服务器 2.选择安装wordpress镜像操作系统 3.安装配置wordpress 4.购买域名,配置域名...
摘要:面试专栏正式起更,每周一三五更新,提供最好最优质的面试内容。继上一篇面试常考内容之面向对象发表后,今天更新面向对象的最后一篇。面向对象的主要特征为封装继承多态。为了提高内聚性减少引起变化,单一原则是低耦合高内聚的面向原则上的引申。 PHP面试专栏正式起更,每周一、三、五更新,提供最好最优质的PHP面试内容。继上一篇PHP面试常考内容之面向对象(2)发表后,今天更新面向对象的最后一篇(3...
摘要:使用指令代替查询每一个指令都可以在它的构造器中注入引用。让我们声明这样一个指令我已经在构造器中添加了检查代码来保证视图容器在指令实例化的时候是可用的。 原文:https://blog.angularindepth.c...作者:Max Koretskyi译者:而井 【翻译】教你如何在@ViewChild查询之前获取ViewContainerRef showImg(https://se...
摘要:字节码是程序的中间表示形式介于人类可读的源码和机器码之间。在中一般是用编译源文件变成字节码,也就是我们的文件。字节码的执行操作,指的就是对当前栈帧数据结构进行的操作。 0.写在前面 为什么会写这篇文章呢?主要是之前调研过日志脱敏相关的一些,具体可以参考LOG4j脱敏插件如何编写里面描述了日志脱敏插件编写方法: 直接在toString中修改代码,这种方法很麻烦,效率低,需要修改每一个要...
阅读 3123·2021-11-22 12:01
阅读 3746·2021-08-30 09:46
阅读 767·2019-08-30 13:48
阅读 3165·2019-08-29 16:43
阅读 1639·2019-08-29 16:33
阅读 1827·2019-08-29 13:44
阅读 1390·2019-08-26 13:45
阅读 2209·2019-08-26 11:44