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 变量定义和变量替换的方法
Jul 30 PHP
php数组函数序列之end() - 移动数组内部指针到最后一个元素,并返回该元素的值
Oct 31 PHP
php模仿asp Application对象在线人数统计实现方法
Jan 04 PHP
利用PHP脚本在Linux下用md5函数加密字符串的方法
Jun 29 PHP
php读取qqwry.dat ip地址定位文件的类实例代码
Nov 15 PHP
PHP屏蔽关键字实现方法
Nov 17 PHP
php 生成加密公钥加密私钥实例详解
Jun 16 PHP
Redis在Laravel项目中的应用实例详解
Aug 11 PHP
ThinkPHP框架实现定时执行任务的两种方法分析
Sep 04 PHP
PHP get_html_translation_table()函数用法讲解
Feb 16 PHP
laravel-admin 中列表筛选方法
Oct 03 PHP
php操作redis数据库常见方法实例总结
Feb 20 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的安全策略
2006/10/09 PHP
特详细的PHPMYADMIN简明安装教程
2008/08/01 PHP
PHP使用glob函数遍历目录或文件夹的方法
2014/12/16 PHP
php+ajax实现带进度条的上传图片功能【附demo源码下载】
2016/09/14 PHP
thinkPHP简单导入和使用阿里云OSSsdk的方法
2017/03/15 PHP
laravel csrf排除路由,禁止,关闭指定路由的例子
2019/10/21 PHP
js正确获取元素样式详解
2009/08/07 Javascript
自己写了一个展开和收起的多更能型的js效果
2013/03/05 Javascript
js控制页面控件隐藏显示的两种方法介绍
2013/10/09 Javascript
struts2+jquery组合验证注册用户是否存在
2014/04/30 Javascript
node.js中的events.emitter.removeListener方法使用说明
2014/12/10 Javascript
jQuery的animate函数实现图文切换动画效果
2015/05/03 Javascript
浅析BootStrap模态框的使用(经典)
2016/04/29 Javascript
angularjs 源码解析之scope
2016/08/22 Javascript
JavaScript事件用法浅析
2016/10/31 Javascript
jQuery学习笔记之入门
2016/12/14 Javascript
Jquery Easyui搜索框组件SearchBox使用详解(19)
2016/12/17 Javascript
JS实现生成由字母与数字组合的随机字符串功能详解
2018/05/25 Javascript
js运算符的一些特殊用法
2018/07/29 Javascript
JS/HTML5游戏常用算法之碰撞检测 包围盒检测算法详解【圆形情况】
2018/12/13 Javascript
vue实现页面切换滑动效果
2020/06/29 Javascript
[06:25]第二届DOTA2亚洲邀请赛主赛事第二天比赛集锦.mp4
2017/04/03 DOTA
python爬虫入门教程--快速理解HTTP协议(一)
2017/05/25 Python
深入理解Python分布式爬虫原理
2017/11/23 Python
Python实现的字典值比较功能示例
2018/01/08 Python
从零开始的TensorFlow+VScode开发环境搭建的步骤(图文)
2020/08/31 Python
python 使用csv模块读写csv格式文件的示例
2020/12/02 Python
纯CSS3编写的的精美动画进度条(无flash/无图像/无脚本/附源码)
2013/01/07 HTML / CSS
初三学习计划书范文
2014/04/30 职场文书
民警个人对照检查剖析材料
2014/09/17 职场文书
平凡的世界读书笔记
2015/06/25 职场文书
公务员岗前培训心得体会
2016/01/08 职场文书
《悲惨世界》:比天空更广阔的是人的心灵
2020/01/16 职场文书
Nginx工作模式及代理配置的使用细节
2022/03/21 Servers
TypeScript 使用 Tuple Union 声明函数重载
2022/04/07 Javascript
Mysql开启外网访问
2022/05/15 MySQL