萬盛學電腦網

 萬盛學電腦網 >> 網絡編程 >> php編程 >> php類中protected與const屬性詳解

php類中protected與const屬性詳解

在php中protected是私有變量,若該成員被聲明稱protected(保護),則代表只能在該類和該類的子類中使用該字段,而const是一個常量它的值一旦賦值不能被改變,下面看兩個例子。

const屬性

用const屬性定義的字段是一個常量,類中的常量和靜態變量類似,不同之處就是常量的值一旦賦值不能被改變.const定義常量不需要加$符號,其結構形式如下:

const 常量名稱  //常量名稱不能用$符號

1、常量屬性用 const 關鍵字來聲明,不像常規屬性一樣用美元符$開頭;
2、按照慣例,只能用大寫字母來命名常量;
3、和全局變量一樣,類常量一旦設置後就不能改變;
4、只包含基本數據類型的值,不能將一個對象指派給常量;
5、像靜態屬性一樣,只能通過類而不能通過類的實例(對象)訪問常量;
6、引用常量時不需要用美元符號為前導符;
7、給已經聲明過的常量賦值會引起解析錯誤;
8、當需要在類的所有示例中都能訪問某個屬性,並且屬性值無需改變時,應該使用常量。

 代碼如下 復制代碼

<?php 
    header('Content-type:text/html;charset=utf-8'); 
    class ShopProduct{ 
        const GUOWANPIAOPEN = "郭碗瓢盆"; 
        const BLOGTITLE = "美好生活的開始!"; 
        //... 
        public function sayHello(){ 
            print ShopProduct::GUOWANPIAOPEN."-".ShopProduct::BLOGTITLE."<br />"; 
            // 注意,每次引用常量都必須指向當前類(當前類名加兩個冒號) 
            //print self::GUOWANPIAOPEN."-".self::BLOGTITLE."<br />"; 
            // 這裡 self 關鍵字指向當前類,作用與上面一樣 
        } 
    } 
 
    print ShopProduct::sayHello(); 
    //print ShopProduct::GUOWANPIAOPEN; 
?> 

protected屬性

protected限定的字段作用域在public和private之間,若該成員被聲明稱protected(保護),則代表只能在該類和該類的子類中使用該字段.

實例代碼如下:

        

 代碼如下 復制代碼 class me{          
         protected $Money =100;       
         protected $price1=60;        
        
         public function Sell($price){      
          if($this->price1<=$price){      
           echo "好,賣給你了.
        ";     
           $this->Money = $this->Money+$price;  
           return "我現在總共有 ".$this->Money." 元錢"; 
          }
         else{           
          echo "我不賣 ,$price 太便宜了
        ";    
          return "現在我還是 ".$this->Money." 元錢";  
           }
          }
         }
        
         $now=new me;          
         echo $now->Sell(30);         
?>
copyright © 萬盛學電腦網 all rights reserved