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 相关文章推荐
php遍历目录viewDir函数
Dec 15 PHP
php将数据库导出成excel的方法
May 07 PHP
php中取得URL的根域名的代码
Mar 23 PHP
Yii PHP Framework实用入门教程(详细介绍)
Jun 18 PHP
ThinkPHP上使用多说评论插件的方法
Oct 31 PHP
php对数组内元素进行随机调换的方法
May 12 PHP
PHP中的流(streams)浅析
Jul 02 PHP
PHP代码优化技巧小结
Sep 29 PHP
PHP5.3连接Oracle客户端及PDO_OCI模块的安装方法
May 13 PHP
thinkPHP多域名情况下使用memcache方式共享session数据的实现方法
Jul 21 PHP
php事务回滚简单实现方法示例
Mar 28 PHP
利用PHPExcel实现Excel文件的写入和读取
Apr 26 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生成网页快照 不用COM不用扩展.
2010/02/11 PHP
php中通过Ajax如何实现异步文件上传的代码实例
2011/05/07 PHP
php在页面中调用fckeditor编辑器的方法
2011/06/10 PHP
php数组编码转换示例详解
2014/03/11 PHP
学习php中的正则表达式
2014/08/17 PHP
php生成验证码函数
2015/10/20 PHP
PHP时间相关常用函数用法示例
2020/06/03 PHP
jQuery 对象中的类数组操作
2009/04/27 Javascript
从父页面读取和操作iframe中内容方法
2009/07/25 Javascript
JavaScript聚焦于第一个字段的代码
2010/10/15 Javascript
基于jQuery的公告无限循环滚动实现代码
2012/05/11 Javascript
js简单实现让文本框内容逐个字的显示出来
2013/10/22 Javascript
js动画效果制件让图片组成动画代码分享
2014/01/14 Javascript
JavaScript内存管理介绍
2015/03/13 Javascript
JavaScript实现的简单烟花特效代码
2015/10/20 Javascript
使用JavaScript为Kindeditor自定义按钮增加Audio标签
2016/03/18 Javascript
jQuery中的select操作详解
2016/11/29 Javascript
JavaScript实现按键精灵的原理分析
2017/02/21 Javascript
jQuery中过滤器的基本用法示例
2017/10/11 jQuery
微信小程序onLaunch异步,首页onLoad先执行?
2018/09/20 Javascript
JavaScript HTML DOM元素 节点操作汇总
2019/07/29 Javascript
解决vue做详情页跳转的时候使用created方法 数据不会更新问题
2020/07/24 Javascript
[01:11]steam端dota2实名认证操作流程视频
2021/03/11 DOTA
Python实现的简单发送邮件脚本分享
2014/11/07 Python
Python实时获取cmd的输出
2015/12/13 Python
Python实现小数转化为百分数的格式化输出方法示例
2017/09/20 Python
Python匿名函数及应用示例
2019/04/09 Python
PyCharm更改字体和界面样式的方法步骤
2019/09/27 Python
python中wheel的用法整理
2020/06/15 Python
css3 按钮样式简单可扩展创建
2013/03/18 HTML / CSS
Bodum官网:咖啡和茶壶、玻璃器皿、厨房电器等
2018/08/01 全球购物
会计电算化专业毕业生求职信范文
2013/12/10 职场文书
生产车间标语
2014/06/11 职场文书
科学发展观演讲稿
2014/09/11 职场文书
2015年小学校长工作总结
2015/05/19 职场文书
话题作文之生命的旋律
2019/12/17 职场文书