国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > PHP > 正文

php5中public,private,protected 三種類屬性的區(qū)別

2024-09-04 11:43:36
字體:
供稿:網(wǎng)友

public:公有屬性或方法

在子類中可以通過self::var 或self::method 來調(diào)用 ,可以通過parent::method來調(diào)用父類中的方法,但不能調(diào)用公有屬性.

在實例中可以通過$obj->var或self::method 來調(diào)用

protected:受保護類型

在子類中可以通過self::var 或self::method調(diào)用, 可以通過parent::method來調(diào)用父類中的方法

在實例中不能通過$obj->var 來調(diào)用  protected類型的方法或?qū)傩?/p>

private:私有類型

該類型的屬性或方法只能在該類中使用,在該類的實例、子類中、子類的實例中都不能調(diào)用私有類型的屬性和方法

self 和 parent 的區(qū)別

a).在子類中常用到這兩個對象。他們的主要區(qū)別在于self可以調(diào)用父類中的公有或受保護的屬性,但parent不可以調(diào)用

b).self:: 它表示當(dāng)前類的靜態(tài)成員(方法和屬性) 與 $this 不同,$this是指當(dāng)前對象

實例代碼如下:

  1. <?php 
  2. class BaseClass { 
  3.   public $public = 'public'
  4.   private $private = 'private'
  5.   protected $protected = 'protected'
  6.   function __construct(){ 
  7.   } 
  8.   function print_var(){ 
  9.     print $this->public;echo '<br />'
  10.     print $this->privateecho '<br />'
  11.     print $this->protectedecho '<br />'
  12.   } 
  13.  
  14. class Subclass extends BaseClass { 
  15.   // public $public = 'public2'; 
  16.   protected $protected ='protected2'
  17.   function __construct(){ 
  18.     echo $this->protected;//可以訪問,因為類中定義為受保護的,所以在本類或子類中可以,子類中還可以重復(fù)付值 
  19.     echo '<br />'
  20.     echo $this->private;//error 因為是私有的只有在定義她的類baseclass中可以用 
  21.   } 
  22.   $obj1 = new BaseClass(); 
  23.   $obj1->print_var(); 
  24.   //echo $obj1->protected;//error 因為是受保護的,只有在本類內(nèi)部或子類父類中可以調(diào)用 
  25.   //echo $obj1->private;//error 同上私有的,只有在本類內(nèi)調(diào)用 
  26.   echo $obj1->public
  27.   echo "<hr />"
  28.   $obj2 = new Subclass(); 
  29.   echo '<br />'
  30.   echo $obj2->public;echo '<br />'
  31.   echo $obj2->protected
  32.   //echo $obj2->private;//error 
  33.   //echo $obj2->protected;//error 
  34. ?> 

總結(jié):

public 表示全局,類內(nèi)部外部子類都可以訪問;

private表示私有的,只有本類內(nèi)部可以使用;

protected表示受保護的,只有本類或子類或父類中可以訪問;

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 曲松县| 揭东县| 中超| 大厂| 繁昌县| 叶城县| 罗城| 东丽区| 四会市| 江都市| 广饶县| 高平市| 甘洛县| 龙南县| 陇西县| 巴林左旗| 高碑店市| 新乡市| 内江市| 纳雍县| 云龙县| 凤阳县| 龙门县| 菏泽市| 醴陵市| 大石桥市| 榆社县| 镇赉县| 健康| 博罗县| 微博| 明光市| 林州市| 库尔勒市| 廉江市| 吉隆县| 双柏县| 和硕县| 密山市| 汪清县| 盘山县|