当前位置: 代码迷 >> 综合 >> 访问类型(public,protected,private)
  详细解决方案

访问类型(public,protected,private)

热度:52   发布时间:2023-12-09 02:09:13.0

类型的访问修饰符允许开发人员对类成员的访问进行限制,这是PHP5的新特性,但却是OOP语言的一个好的特性。而且大多数OOP语言都已支持此特性。PHP5支持如下3种访问修饰符:

public (公有的、默认的),protected (受保护的)和private (私有的)三种。

public 公有修饰符,类中的成员将没有访问限制,所有的外部成员都可以访问(读和写)这个类成员(包括成员属性和成员方法),在PHP5之前的所有版本中,PHP 中类的成员都是public的,而且在PHP5中如果类的成员没有指定成员访问修饰符,将被视为public 。例:

1 public $name;
2 public function say(){ };

private 私有修改符,被定义为private的成员,对于同一个类里的所有成员是可见的,即没有访问限制;但对于该类的外部代码是不允许改变甚至读操作,对于该类的子类,也不能访问private修饰的成员。例:

1 private $var1 'A';            // 属性
2 private function getValue(){ }  // 函数
 类内部访问方式为:$this->var1,$this->getValue()

protected保护成员修饰符,被修饰为protected的成员不能被该类的外部代码访问。但是对于该类的子类有访问权限,可以进行属性、方法的读及写操作,该子类的外部代码包括其的子类都不具有访问其属性和方法的权限。

例:

1 protected $name;
2 protected function say(){ };
  private protected public
同一个类中
类的子类中  
所有的外部成员    

属性访问控制示例:

01 <?php
02 /**
03  * Define MyClass
04  */
05 class MyClass
06 {
07     public $public 'Public';
08     protected $protected 'Protected';
09     private $private 'Private';
10  
11     function printHello()
12     {
13         
  相关解决方案