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


Posted in PHP onNovember 20, 2017

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

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

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

<?php
 //父类
 class father{
 public function a(){
 echo "function a<br/>";
 }
 private function b(){
 echo "function b<br/>";
 }
 protected function c(){
 echo "function c<br/>";
 }
 }
 //子类
 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 相关文章推荐
Search Engine Friendly的URL设计
Oct 09 PHP
NT IIS下用ODBC连接数据库
Oct 09 PHP
用PHP的ob_start();控制您的浏览器cache!
Feb 14 PHP
php5 mysql分页实例代码
Apr 10 PHP
PHP中实现中文字符进制转换原理分析
Dec 06 PHP
php中检查文件或目录是否存在的代码小结
Oct 22 PHP
php字符串分割函数用法实例
Mar 17 PHP
php基于自定义函数记录log日志方法
Jul 21 PHP
Windows平台实现PHP连接SQL Server2008的方法
Jul 26 PHP
通过PHP的Wrapper无缝迁移原有项目到新服务的实现方法
Apr 02 PHP
php设计模式之适配器模式实例分析【星际争霸游戏案例】
Apr 07 PHP
php提高脚本性能的4个技巧
Aug 18 PHP
PHP空值检测函数与方法汇总
Nov 19 #PHP
使用PHPStorm+XDebug搭建单步调试环境
Nov 19 #PHP
php利用云片网实现短信验证码功能的示例代码
Nov 18 #PHP
swoole和websocket简单聊天室开发
Nov 18 #PHP
php单元测试phpunit入门实例教程
Nov 17 #PHP
PHP开发之归档格式phar文件概念与用法详解【创建,使用,解包还原提取】
Nov 17 #PHP
PHP流Streams、包装器wrapper概念与用法实例详解
Nov 17 #PHP
You might like
PHP的数组中提高元素查找与元素去重的效率的技巧解析
2016/03/03 PHP
PHP文件系统管理(实例讲解)
2017/09/19 PHP
PHP7 字符串处理机制修改
2021/03/09 PHP
解密效果
2006/06/23 Javascript
基于 Docker 开发 NodeJS 应用
2014/07/30 NodeJs
jquery uploadify 在FF下无效的解决办法
2014/09/26 Javascript
RequireJS使用注意细节
2016/05/15 Javascript
jquery表单插件form使用方法详解
2017/01/20 Javascript
JavaScript判断变量名是否存在数组中的实例
2017/12/28 Javascript
Vue中的字符串模板的使用
2018/05/17 Javascript
vue单页面应用打开新窗口显示跳转页面的实例
2018/09/21 Javascript
微信小程序日历插件代码实例
2019/12/04 Javascript
vue项目中监听手机物理返回键的实现
2020/01/18 Javascript
[02:08:58]2014 DOTA2国际邀请赛中国区预选赛 Ne VS CIS
2014/05/22 DOTA
[01:18:36]LGD vs VP Supermajor 败者组决赛 BO3 第一场 6.10
2018/07/04 DOTA
Python+OpenCV让电脑帮你玩微信跳一跳
2018/01/04 Python
Python实现识别手写数字大纲
2018/01/29 Python
Python2 Selenium元素定位的实现(8种)
2019/02/25 Python
python+os根据文件名自动生成文本
2019/03/21 Python
PyCharm 创建指定版本的 Django(超详图解教程)
2019/06/18 Python
python定间隔取点(np.linspace)的实现
2019/11/27 Python
Python类如何定义私有变量
2020/02/03 Python
Python 解决火狐浏览器不弹出下载框直接下载的问题
2020/03/09 Python
解决pyqt5异常退出无提示信息的问题
2020/04/08 Python
Pandas实现一列数据分隔为两列
2020/05/18 Python
英国最大的女性服装零售商:Dorothy Perkins
2017/03/30 全球购物
俄罗斯最大的香水和化妆品网上商店:Randewoo
2020/11/05 全球购物
工程师自我评价怎么写
2013/09/19 职场文书
护理专科毕业生自荐书范文
2014/02/19 职场文书
开学季活动策划方案
2014/02/28 职场文书
护士岗前培训自我评鉴
2014/02/28 职场文书
生日主持词
2014/03/20 职场文书
纪念九一八事变83周年国旗下讲话稿
2014/09/15 职场文书
春节慰问简报
2015/07/21 职场文书
导游词之太湖
2019/10/08 职场文书
使用Python脚本对GiteePages进行一键部署的使用说明
2021/05/27 Python