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

在本篇文章里小编给大家分享了关于PHP中的public,private和protected的简单比较,有需要的朋友们学习下。

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(); ?>

输出

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

您可能感兴趣的文章:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/6004f463b8d31fe83c0ad2b4051924cf.html