• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

PHP中的public,private和protected的简单比较

php 搞代码 4年前 (2022-01-21) 11次浏览 已收录 0个评论

在PHP中有三个访问修饰符:public,private和protected,可以通过在声明前加上这些关键字来定义属性,方法或常量的可见性。那么它们之间有什么区别?下面本篇文章就来简单介绍一下,希望对大家有所帮助。

PHP public访问修饰符

public修饰符在内部和外部都可以使用。如果一个类成员声明为public,那么它可以在任何地方被访问。

示例:

<?php header("content-type:text/html;charset=utf-8");  // BaseClass class pub {     public $tag_line = "<a href="http://www.gaodaima.com">搞代码</a>!";     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 <strong>+本文来源gao@daima#com搞(%代@#码网</strong><pre>搞代gaodaima码

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

输出:

protected访问修饰符

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

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

示例:

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

输出

说明:

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

以上就是本篇文章的全部内容,希望能对大家的学习有所帮助。更多精彩内容大家可以关注搞代码相关教程栏目!!!

以上就是PHP中的public,private和protected的简单比较的详细内容,更多请关注搞代码gaodaima其它相关文章!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:PHP中的public,private和protected的简单比较

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址