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详细彻底学习Smarty
Mar 27 PHP
php标签云的实现代码
Oct 10 PHP
使用PHP实现Mysql读写分离
Jun 28 PHP
查找php配置文件php.ini所在路径的二种方法
May 26 PHP
从零开始学YII2框架(六)高级应用程序模板
Aug 20 PHP
php求今天、昨天、明天时间戳的简单实现方法
Jul 28 PHP
php基于SQLite实现的分页功能示例
Jun 21 PHP
Yii2.0多文件上传实例说明
Jul 24 PHP
Yii 2中的load()和save()示例详解
Aug 03 PHP
利用laravel+ajax实现文件上传功能方法示例
Aug 13 PHP
浅谈PHP中的Trait使用方法
Mar 22 PHP
PHP 结合 Boostrap 结合 js 实现学生列表删除编辑及搜索功能
May 21 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的QRcode类与大家分享
2011/11/13 PHP
PHP实现的交通银行网银在线支付接口ECSHOP插件和使用例子
2014/05/10 PHP
PHP函数extension_loaded()用法实例
2015/01/19 PHP
PHP 正则表达式小结
2015/02/12 PHP
javascript面向对象的方式实现的弹出层效果代码
2010/01/28 Javascript
JQuery 插件模板 制作jquery插件的朋友可以参考下
2010/03/17 Javascript
了解了这些才能开始发挥jQuery的威力
2013/10/10 Javascript
jQuery获得IE版本不准确webbrowser的解决方法
2014/02/23 Javascript
javascript 获取元素样式必杀技
2014/05/04 Javascript
js+css实现有立体感的按钮式文字竖排菜单效果
2015/09/01 Javascript
jquery实现简洁文件上传表单样式
2015/11/02 Javascript
jquery pagination分页插件使用详解(后台struts2)
2017/01/22 Javascript
canvas绘制七巧板
2017/02/03 Javascript
bootstrap table实现单击单元格可编辑功能
2017/03/28 Javascript
JavaScript+HTML5实现的日期比较功能示例
2017/07/12 Javascript
在NPM发布自己造的轮子的方法步骤
2019/03/09 Javascript
js实现淘宝首页的banner栏效果
2019/11/26 Javascript
JS代码优化的8点建议
2020/02/04 Javascript
详细分析Node.js 模块系统
2020/06/28 Javascript
Python Requests 基础入门
2016/04/07 Python
Python编程中装饰器的使用示例解析
2016/06/20 Python
python http接口自动化脚本详解
2018/01/02 Python
python实现单链表中删除倒数第K个节点的方法
2018/09/28 Python
用python爬取租房网站信息的代码
2018/12/14 Python
python关闭占用端口方式
2019/12/17 Python
Python os模块常用方法和属性总结
2020/02/20 Python
Python编程快速上手——正则表达式查找功能案例分析
2020/02/28 Python
Python GUI编程学习笔记之tkinter控件的介绍及基本使用方法详解
2020/03/30 Python
详解python中groupby函数通俗易懂
2020/05/14 Python
python跨文件使用全局变量的实现
2020/11/17 Python
医学专业大学生求职的自我评价
2013/11/27 职场文书
庆七一活动方案
2014/01/25 职场文书
出纳员岗位职责风险
2014/03/06 职场文书
计算机求职信
2014/07/02 职场文书
市场营销专业毕业生求职信
2014/07/21 职场文书
win10识别不了U盘怎么办 win10系统读取U盘失败的解决办法
2022/08/05 数码科技