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 session_start()关于Cannot send session cache limiter - headers already sent错误解决方法
Nov 27 PHP
适用于php-5.2 的 php.ini 中文版[金步国翻译]
Apr 17 PHP
php页面防重复提交方法总结
Nov 25 PHP
ThinkPHP的L方法使用简介
Jun 18 PHP
PHP中UNIX时间戳和日期间的转换与计算实例
Nov 19 PHP
php实现简单的语法高亮函数实例分析
Apr 27 PHP
php调用自己java程序的方法详解
May 13 PHP
深入理解PHP中的empty和isset函数
May 26 PHP
php操作路径的经典方法(必看篇)
Oct 04 PHP
php实现数据库的增删改查
Feb 26 PHP
PHP convert_cyr_string()函数讲解
Feb 13 PHP
PHP call_user_func和call_user_func_array函数的简单理解与应用分析
Nov 25 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中文分词 自动获取关键词介绍
2012/11/13 PHP
php共享内存段示例分享
2014/01/20 PHP
php调用shell的方法
2014/11/05 PHP
YII CLinkPager分页类扩展增加显示共多少页
2016/01/29 PHP
PHP去除空数组且数组键名重置的讲解
2019/02/28 PHP
在Ubuntu 18.04上安装PHP 7.3 7.2和7.0的方法
2019/04/09 PHP
javascript写的一个模拟阅读小说的程序
2014/04/04 Javascript
JS访问SWF的函数用法实例
2015/07/01 Javascript
简单实现的JQuery文本框水印插件
2016/06/14 Javascript
AngularJS中关于ng-class指令的几种实现方式详解
2016/09/17 Javascript
javascript中异常处理案例(推荐)
2016/10/03 Javascript
js控制台输出的方法(详解)
2016/11/26 Javascript
javascript实现将数字转成千分位的方法小结【5种方式】
2016/12/11 Javascript
jQuery EasyUi 验证功能实例解析
2017/01/06 Javascript
javascript获取以及设置光标位置
2017/02/16 Javascript
JavaScript全屏和退出全屏事件总结(附代码)
2017/08/17 Javascript
详解JSONObject和JSONArray区别及基本用法
2017/10/25 Javascript
ReactNative 之FlatList使用及踩坑封装总结
2017/11/29 Javascript
vue 国际化 vue-i18n 双语言 语言包
2018/06/07 Javascript
vue实现的组件兄弟间通信功能示例
2018/12/04 Javascript
express+vue+mongodb+session 实现注册登录功能
2018/12/06 Javascript
微信小程序实现同时上传多张图片
2020/02/03 Javascript
Vue实现手机计算器
2020/08/17 Javascript
vue-video-player 断点续播的实现
2021/02/01 Vue.js
[49:02]KG vs Infamous 2019国际邀请赛淘汰赛 败者组BO1 8.20.mp4
2020/07/19 DOTA
Python中几种导入模块的方式总结
2017/04/27 Python
Python 常用的安装Module方式汇总
2017/05/06 Python
如何在Django配置文件里配置session链接
2019/08/06 Python
Spartoo比利时:欧洲时尚购物网站
2017/12/06 全球购物
Room Mate Hotels美国:西班牙酒店品牌
2018/04/10 全球购物
高等教育学自荐书范文
2014/02/10 职场文书
自荐信如何制作?
2014/02/21 职场文书
党员干部对十八届四中全会的期盼
2014/10/17 职场文书
个人事迹材料范文
2014/12/29 职场文书
手术室消毒隔离制度
2015/08/05 职场文书
js基础语法与maven项目配置教程案例
2021/07/15 Javascript