www.adminn.cn
站长正能量分享网!

PHP中的public,private和protected的区别

AD:阿里云服务器企业会员更优惠 腾讯云香港,韩国免备案服务器1.8折优惠

public,private和protected称为访问修饰符。就像C ++一样,PHP也有三个访问修饰符,如public,private和protected。可以通过在声明前加上这些关键字来定义属性,方法或常量的可见性。

1.如果类成员声明为public,那么它可以在任何地方访问。

2.如果类成员声明为protected,则只能在类本身内以及继承和父类中访问它。

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

public:此修饰符在内部和外部都可以使用。

例:

  1. <?php 
  2.  
  3. class pub { 
  4.  
  5.     public $tag_line = "PHP粉丝网!"
  6.  
  7.     function display() { 
  8.  
  9.         echo $this->tag_line."<br/>"
  10.  
  11.     } 
  12.  
  13.  
  14.  
  15. class child extends pub { 
  16.  
  17.     function show(){ 
  18.  
  19.         echo $this->tag_line; 
  20.  
  21.     } 
  22.  
  23.  
  24.  
  25. $objnew child;  
  26.  
  27. echo $obj->tag_line."<br/>" 
  28.  
  29. $obj->display();  
  30.  
  31. $obj->show(); 

输出:

PHP粉丝网!

PHP粉丝网!

PHP粉丝网!

protected:此修饰符可在其定义的类及其父类或继承类中使用。

例:

  1. <?php  
  2.  
  3. class pro {  
  4.  
  5.     protected $x = 500;  
  6.  
  7.     protected $y = 500;  
  8.  
  9.                 
  10.  
  11.     function sub()   
  12.  
  13.     {  
  14.  
  15.         echo $sum=$this->x-$this->y . "<br/>";  
  16.  
  17.     }       
  18.  
  19. }   
  20.  
  21.     
  22.  
  23. class child extends pro {  
  24.  
  25.     function mul()  
  26.  
  27.     {  
  28.  
  29.         echo $sub=$this->x*$this->y;  
  30.  
  31.     }  
  32.  
  33. }   
  34.  
  35.     
  36.  
  37. $objnew child;  
  38.  
  39. $obj->sub();  
  40.  
  41. $obj->mul();  
  42.  
  43. ?> 

输出:

0

250000

private:此修饰符可在定义它的类中使用。(它不能在类外部访问意味着继承类)。

例:

  1. <?php 
  2.  
  3. class demo { 
  4.  
  5.     private $name="PHP中文网"
  6.  
  7.  
  8.  
  9.     private function show() 
  10.  
  11.     { 
  12.  
  13.         echo "这是基(父)类的私有方法"
  14.  
  15.     } 
  16.  
  17.  
  18.  
  19.  
  20. class child extends demo { 
  21.  
  22.     function display() 
  23.  
  24.     { 
  25.  
  26.         echo $this->name; 
  27.  
  28.     } 
  29.  
  30.  
  31. //phpfensi.com 
  32.  
  33. $objnew child; 
  34.  
  35. $obj->show(); 
  36.  
  37. $obj->display(); 

输出:069e62fab11cc99cffb02dc0851a839.png如图显示错误,因为无法在类外访问私有类数据。

模板优惠价: (点击购买)
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《PHP中的public,private和protected的区别》
文章链接:https://www.adminn.cn/news/7691.html
本站资源模板仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。2021.5月起,网站调整,暂不再分享免费模板。谢谢理解

Adminn.Cn 站长分享圈

帝国CMS精品模板腾讯云优惠券,代金券

2次开发,学习研究使用!扫码支付后联系QQ677123发货!

支付宝扫一扫打赏