当前位置:首页 > PHP教程 > php应用 > 列表

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

发布:smiling 来源: PHP粉丝网  添加日期:2021-11-06 21:12:02 浏览: 评论:0 

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

PHP public访问修饰符

示例:

  1. <?php  
  2. header("content-type:text/html;charset=utf-8");  
  3. // BaseClass  
  4. class pub {  
  5.  public $tag_line = "php粉丝网!";  
  6.  function display() {  
  7.   echo $this->tag_line."<br/>";  
  8.  }  
  9. }  
  10.    
  11. // 子类 
  12. class child extends pub {  
  13.  function show(){  
  14.   echo $this->tag_line;  
  15.  }  
  16. }  
  17.    
  18. // 对象声明 
  19. $objnew child;  
  20.    
  21. // 输出 
  22. echo $obj->tag_line."<br/>";  
  23.    
  24. $obj->display();  
  25.    
  26. $obj->show();  
  27. ?> 

输出:

php粉丝网!

php粉丝网!

php粉丝网!

private访问修饰符

private修饰符可在其定义的类及其父类或继承类中使用,如果一个类成员声明为protected,则只能在类本身内以及继承和父类中访问它。

示例:

  1. <?php  
  2. header("content-type:text/html;charset=utf-8");  
  3. // 基类 
  4. class pro {  
  5.  protected $x = 500;  
  6.  protected $y = 500;  
  7.       
  8.  // 实现减法  
  9.  function sub()  
  10.  {  
  11.   echo $sum=$this->x-$this->y . "<br/>";  
  12.  }   
  13. }  
  14.    
  15. // 子类-继承类 
  16. class child extends pro {  
  17.  function mul() //实现乘法 
  18.  {  
  19.   echo $sub=$this->x*$this->y;  
  20.  }  
  21. }  
  22.    
  23. $objnew child;  
  24. $obj->sub();  
  25. $obj->mul();  
  26. ?> 

输出:

0

250000

protected访问修饰符

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

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

示例:

  1. <?php  
  2. header("content-type:text/html;charset=utf-8");  
  3. // 基类 
  4. class demo {  
  5.  private $name="php粉丝网!";  
  6.     
  7.  private function show()  
  8.  {  
  9.   echo "这是基类的私有方法";  
  10.  }  
  11. }  
  12.    
  13. // 子类 
  14. class child extends demo {  
  15.  function display()  
  16.  {  
  17.   echo $this->name;  
  18.  }  
  19. }  
  20.    
  21. // 对象声明 
  22. $objnew child;  
  23.    
  24. // 出现异常---未捕获错误:调用私有方法demo::show() 
  25. //$obj->show();  
  26.    
  27. //出现异常--未定义的属性:子级::$name 
  28. $obj->display();  
  29. ?> 

输出

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

Tags: PHP访问修饰符

分享到: