PHP中的访问修饰符简单比较


Posted in PHP onFebruary 02, 2019

PHP public访问修饰符

示例:

<?php 
header("content-type:text/html;charset=utf-8"); 
// BaseClass 
class pub { 
 public $tag_line = "三水点靠木!"; 
 function display() { 
  echo $this->tag_line."<br/>"; 
 } 
} 
 
// 子类
class child extends pub { 
 function show(){ 
  echo $this->tag_line; 
 } 
} 
 
// 对象声明
$obj= new child; 
 
// 输出
echo $obj->tag_line."<br/>"; 
 
$obj->display(); 
 
$obj->show(); 
?>

输出:

三水点靠木!

三水点靠木!

三水点靠木!

private访问修饰符

private修饰符可在其定义的类及其父类或继承类中使用。如果一个类成员声明为protected,则只能在类本身内以及继承和父类中访问它。

示例:

<?php 
header("content-type:text/html;charset=utf-8"); 
// 基类
class pro { 
 protected $x = 500; 
 protected $y = 500; 
    
 // 实现减法 
 function sub() 
 { 
  echo $sum=$this->x-$this->y . "<br/>"; 
 }  
} 
 
// 子类-继承类
class child extends pro { 
 function mul() //实现乘法
 { 
  echo $sub=$this->x*$this->y; 
 } 
} 
 
$obj= new child; 
$obj->sub(); 
$obj->mul(); 
?>

输出:

0

250000

protected访问修饰符

protected修饰符可在定义它的类中使用,注:它不能在类外部访问意味着继承类。

如果类成员声明为private,则它只能由定义该成员的类访问。

示例:

<?php 
header("content-type:text/html;charset=utf-8"); 
// 基类
class demo { 
 private $name="三水点靠木!"; 
  
 private function show() 
 { 
  echo "这是基类的私有方法"; 
 } 
} 
 
// 子类
class child extends demo { 
 function display() 
 { 
  echo $this->name; 
 } 
} 
 
// 对象声明
$obj= new child; 
 
// 出现异常---未捕获错误:调用私有方法demo::show()
//$obj->show(); 
 
//出现异常--未定义的属性:子级::$name
$obj->display(); 
?>

输出

PHP中的访问修饰符简单比较

从上例可以看出,它将显示错误,因为无法在类外访问私有类数据。

PHP 相关文章推荐
不用iconv库的gb2312与utf-8的互换函数
Oct 09 PHP
如何获得PHP相关资料
Oct 09 PHP
用PHP实现小型站点广告管理(修正版)
Oct 09 PHP
PHP下对数组进行排序的函数
Aug 08 PHP
Codeigniter通过SimpleXML将xml转换成对象的方法
Mar 19 PHP
PHP5.3以上版本安装ZendOptimizer扩展
Mar 27 PHP
Laravel 5框架学习之表单
Apr 08 PHP
PHP基于yii框架实现生成ICO图标
Nov 13 PHP
Laravel中如何增加自定义全局函数详解
May 09 PHP
PHP钩子与简单分发方式实例分析
Sep 04 PHP
PHP实现的敏感词过滤方法示例
Mar 06 PHP
laravel框架的安装与路由实例分析
Oct 11 PHP
PHP PDOStatement::setAttribute讲解
Feb 01 #PHP
PHP PDOStatement::rowCount讲解
Feb 01 #PHP
PHP PDOStatement::nextRowset讲解
Feb 01 #PHP
PHP PDOStatement::getColumnMeta讲解
Feb 01 #PHP
PHP PDOStatement::getAttribute讲解
Feb 01 #PHP
PHP PDOStatement::fetchObject讲解
Feb 01 #PHP
Laravel框架搜索分页功能示例
Feb 01 #PHP
You might like
php缓存技术介绍
2006/11/25 PHP
php学习笔记 [预定义数组(超全局数组)]
2011/06/09 PHP
php 模拟get_headers函数的代码示例
2013/04/27 PHP
php使用smtp发送支持附件的邮件示例
2014/04/13 PHP
修改ThinkPHP缓存为Memcache的方法
2014/06/25 PHP
php中fgetcsv()函数用法实例
2014/11/28 PHP
深入php内核之php in array
2015/11/10 PHP
php文件上传的两种实现方法
2016/04/04 PHP
JavaScript随机排序(随即出牌)
2010/09/17 Javascript
createElement与createDocumentFragment的点点区别小结
2011/12/19 Javascript
event.currentTarget与event.target的区别介绍
2012/12/31 Javascript
jquery通过select列表选择框对表格数据进行过滤示例
2014/05/07 Javascript
将json转换成struts参数的方法
2016/11/08 Javascript
nodeJS删除文件方法示例
2016/12/25 NodeJs
jQuery图片瀑布流的简单实现代码
2017/03/15 Javascript
前端构建工具之gulp的语法教程
2017/06/12 Javascript
简单实现js鼠标跟随效果
2020/08/02 Javascript
动态加载权限管理模块中的Vue组件
2018/01/16 Javascript
最适应的vue.js的form提交涉及多种插件【推荐】
2018/08/27 Javascript
详解vue-cli 2.0配置文件(小结)
2019/01/14 Javascript
JS合并两个数组的3种方法详解
2019/10/24 Javascript
npx create-react-app xxx创建项目报错的解决办法
2020/02/17 Javascript
原生JS运动实现轮播图
2021/01/02 Javascript
Python比较文件夹比另一同名文件夹多出的文件并复制出来的方法
2015/03/05 Python
利用一个简单的例子窥探CPython内核的运行机制
2015/03/30 Python
Python+selenium实现截图图片并保存截取的图片
2018/01/05 Python
基于python的Paxos算法实现
2019/07/03 Python
Django 博客实现简单的全文搜索的示例代码
2020/02/17 Python
Python+PyQt5+MySQL实现天气管理系统
2020/06/16 Python
Python如何读写字节数据
2020/08/05 Python
Jupyter Notebook添加代码自动补全功能的实现
2021/01/07 Python
Yahoo-PHP面试题4
2012/05/05 面试题
家长对小学生的评语
2014/01/28 职场文书
2015年安全保卫工作总结
2015/05/14 职场文书
项目备案申请报告
2015/05/15 职场文书
springboot创建的web项目整合Quartz框架的项目实践
2022/06/21 Java/Android