国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 金堂县| 玉龙| 武夷山市| 尖扎县| 准格尔旗| 吴堡县| 沙湾县| 阿尔山市| 沐川县| 黔南| 班戈县| 西华县| 山阴县| 锡林郭勒盟| 陈巴尔虎旗| 清水河县| 太保市| 湖北省| 习水县| 班玛县| 东宁县| 汤阴县| 凤冈县| 海口市| 罗田县| 唐河县| 修水县| 沂南县| 五莲县| 新沂市| 黑龙江省| 呼玛县| 界首市| 凉城县| 息烽县| 格尔木市| 大渡口区| 台州市| 新郑市| 康定县| 平昌县|