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

yipeiwu_com7年前PHP代码库

PHP public访问修饰符

示例:

<?php 
header("content-type:text/html;charset=utf-8"); 
// BaseClass 
class pub { 
 public $tag_line = "【宜配屋www.yipeiwu.com】!"; 
 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(); 
?>

输出:

【宜配屋www.yipeiwu.com】!

【宜配屋www.yipeiwu.com】!

【宜配屋www.yipeiwu.com】!

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="【宜配屋www.yipeiwu.com】!"; 
  
 private function show() 
 { 
  echo "这是基类的私有方法"; 
 } 
} 
 
// 子类
class child extends demo { 
 function display() 
 { 
  echo $this->name; 
 } 
} 
 
// 对象声明
$obj= new child; 
 
// 出现异常---未捕获错误:调用私有方法demo::show()
//$obj->show(); 
 
//出现异常--未定义的属性:子级::$name
$obj->display(); 
?>

输出

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

相关文章

如何在php中正确的使用json

从5.2版本开始,PHP原生提供json_encode()和json_decode()函数,前者用于编码,后者用于解码。 1、json_encode()该函数主要用来将数组和对象,转换为...

WordPress中Gravatar头像缓存到本地及相关优化的技巧

将Gravatar全球通用头像缓存的目的在于加快网站的打开速度,因为Gravatar官网的服务器在国外,加上伟大的GFW,国内打开速度经常很慢。方法来自willin,不过貌似他的网站已经...

PHP实现连接设备、通讯和发送命令的方法

本文实例讲述了PHP实现连接设备、通讯和发送命令的方法。分享给大家供大家参考。具体如下: 开发的BS架构的软件(PHP),需要跟设备进行通讯,在此记录一下,欢迎各位指正: 1. 采用ph...

PHP FileSystem 文件系统常用api整理总结

PHP FileSystem 文件系统常用api整理总结

本文实例讲述了PHP FileSystem 文件系统常用api。分享给大家供大家参考,具体如下: 参数说明:$filename (文件的路径) 1-4 文件信息相关 filetyp...

php preg_match_all结合str_replace替换内容中所有img

采集回来的图片img标签中,有好多javascript脚本和无用的信息,必需过替换自己想要的,比如alt。先看看要过滤的内容,我随便复制出来: 复制代码 代码如下: sdfsdfsdf&...