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 相关文章推荐
关于svn冲突的解决方法
Jun 21 PHP
php实现批量下载百度云盘文件例子分享
Apr 10 PHP
PHP中创建和验证哈希的简单方法实探
Jul 06 PHP
几个优化WordPress中JavaScript加载体验的插件介绍
Dec 17 PHP
解读PHP中上传文件的处理问题
May 29 PHP
Thinkphp实现站点静态化的方法详解
Mar 21 PHP
PHP filesize函数用法浅析
Feb 15 PHP
PHP中单例模式的使用场景与使用方法讲解
Mar 18 PHP
PHP+百度AI OCR文字识别实现了图片的文字识别功能
May 08 PHP
Thinkphp5.0框架使用模型Model的获取器、修改器、软删除数据操作示例
Oct 11 PHP
PHP如何解决微信文章图片防盗链
Dec 09 PHP
php TP5框架生成二维码链接
Apr 01 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读取xml实例代码
2010/01/28 PHP
php记录日志的实现代码
2011/08/08 PHP
php批量上传的实现代码
2013/06/09 PHP
兼容ie、firefox的图片自动缩放的css跟js代码分享
2013/08/12 Javascript
js实现弹窗插件功能实例代码分享
2013/12/12 Javascript
嵌入式iframe子页面与父页面js通信的方法
2015/01/20 Javascript
jQuery插件datepicker 日期连续选择
2015/06/12 Javascript
深入理解angularjs过滤器
2016/05/25 Javascript
jQuery增加和删除表格项目及实现表格项目排序的方法
2016/05/30 Javascript
JavaScript常见事件对象与操作实例总结
2019/01/05 Javascript
vue基于两个计算属性实现选中和全选功能示例
2019/02/08 Javascript
在nodejs中创建child process的方法
2021/01/26 NodeJs
[14:03]2017DOTA2亚洲邀请赛开幕式:12神兵演绎水墨中华
2017/04/01 DOTA
Python找出9个连续的空闲端口
2016/02/01 Python
微信跳一跳辅助python代码实现
2018/01/05 Python
基于python神经卷积网络的人脸识别
2018/05/24 Python
python如何制作英文字典
2019/06/25 Python
python安装requests库的实例代码
2019/06/25 Python
Selenium之模拟登录铁路12306的示例代码
2020/07/31 Python
浅析Python 字符编码与文件处理
2020/09/24 Python
基于python实现坦克大战游戏
2020/10/27 Python
总结30个CSS3选择器
2017/04/13 HTML / CSS
HTML5实现文件断点续传的方法
2017/01/04 HTML / CSS
Groupon西班牙官方网站:在线优惠券和交易,节省高达70%
2021/03/13 全球购物
旅游管理实习自我鉴定
2013/09/29 职场文书
先进德育工作者事迹材料
2014/01/24 职场文书
精神文明建设标语
2014/06/16 职场文书
2014年保安个人工作总结
2014/11/13 职场文书
网络营销计划书
2015/01/17 职场文书
个人委托函范文
2015/01/29 职场文书
2015大学生求职信范文
2015/03/20 职场文书
2015年行政助理工作总结
2015/04/30 职场文书
少先队中队工作总结
2015/08/14 职场文书
初中思品教学反思
2016/02/20 职场文书
教您怎么制定西餐厅运营方案 ?
2019/07/05 职场文书
Android中View.post和Handler.post的关系
2022/06/05 Java/Android