您当前的位置: 首页 > 网站编程 > PHP教程 > php面向对象public private protected 访问修饰符

php面向对象public private protected 访问修饰符

作者:不详 来源:网络 发布时间: 2014-08-20 13:41 点击:
本篇文章是对php面向对象public private protected 访问修饰符进行了详细的分析介绍,需要的朋友参考下 PHP中有三种访问修饰符,分别是: public(公共的、默认) protected(受保护的) private(私有的) public(公共的、默认)在PHP5中如果类没有指定成员的访问修

php面向对象public private protected 访问修饰符

  本篇文章是对php面向对象public private protected 访问修饰符进行了详细的分析介绍,需要的朋友参考下

  PHP中有三种访问修饰符,分别是:

  
public(公共的、默认)

  protected(受保护的)

  private(私有的)

  public(公共的、默认)在PHP5中如果类没有指定成员的访问修饰符,默认就是public的访问权限。

  protected(受保护的)被声明为protected的成员,只允许该类的子类进行访问。

  private(私有的 ) 被定义为private的成员,对于类内部所有成员都可见,没有访问限制。对类外部不允许访问。

  

  图解

  


  demo

  


  复制代码 代码如下:

  class Woman{

  public $name = "gaojin";

  protected $age = "22";

  private $height = "170";

  function info(){

  echo $this->name;

  }

  private function say(){

  echo "这是私有的方法";

  }

  }

  //$w = new Woman();

  //echo $w->info();

  //echo $w->name;//公共属性可以访问

  //echo $w->age;// 受保护属性,报致命错误

  //echo $w->height;// 受保护属性,报致命错误

  //私有方法,访问出错

  //$w->say(); // 私有方法,访问出错

  class Girl extends Woman{

  // 可以重新定义父类的public和protected方法,但不能定义private的

  //protected $name = "jingao"; // 可以从新定义

  function info(){

  echo $this->name;

  echo $this->age;

  echo $this->height;

  }

  function say(){

  //parent::say();//私有方法 不能被继承 如果父类的的say方法是protected 这里就不会报错

  echo "我是女孩";

  }

  }

  $g = new Girl();

  $g->say();//正常输出

  //echo $g->height;//私有属性访问不到 没输出结果

  //$g->info();//这是输出 gaojin22 $height是私有的属性没有被继承

  //$g->height ="12";//这里是重新定义 height属性 也赋值了

  //$g->info();//所以这里会输出来gaojin2212
分享到:
本文"php面向对象public private protected 访问修饰符"由远航站长收集整理而来,仅供大家学习与参考使用。更多网站制作教程尽在远航站长站。
顶一下
(0)
0%
踩一下
(0)
0%
[点击 次] [返回上一页] [打印]
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 密码: 验证码:
关于本站 - 联系我们 - 网站声明 - 友情连接- 网站地图 - 站点地图 - 返回顶部
Copyright © 2007-2013 www.yhzhan.com(远航站长). All Rights Reserved .
远航站长:为中小站长提供最佳的学习与交流平台,提供网页制作与网站编程等各类网站制作教程.
官方QQ:445490277 网站群:26680406 网站备案号:豫ICP备07500620号-4