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

首頁 > 語言 > PHP > 正文

php final static const成員屬性用法

2024-09-04 11:43:39
字體:
來源:轉載
供稿:網友

首先來說說final 

1.final不能用來修飾成員屬性 

2.final只能修飾類和方法 

作用:被修飾的類不能被子類所繼承,被修飾的方法不能被子類的方法覆蓋

  1. <?PHP  
  2. final class BaseClass {  
  3. public function test() {  
  4. echo "BaseClass::test() calledn";  
  5. }  
  6. final public function moreTesting() {  
  7. echo "BaseClass::moreTesting() calledn";  
  8. }  
  9. }  
  10. class ChildClass extends BaseClass {  
  11. public function moreTesting() {  
  12. echo "ChildClass::moreTesting() calledn";  
  13. }  
  14. }  
  15. // Results in Fatal error: Cannot override final method BaseClass::moreTesting()  
  16. ?>  

然后來說說static 

1.static用來修飾成員屬性和成員方法,但不能用來修飾類 

2.用static修飾的成員屬性可以被同一個類的所有對象共享 

3.靜態的數據是存在 內存中的 數據段中(初始化靜態段) 

4.靜態的數據是在類在第一次加載時,分配到內存中的 

5.什么是類被加載?只要在程序中使用到這個類(有這個類名出現) 

6.靜態的成員屬性都要用類名去訪問,不用創建對象,不用對象去訪問;在類里邊可以用self代表本類($this) 

7.靜態方法,不能訪問非靜態的成員屬性(但是,在非靜態方法卻能訪問靜態的成員屬性),非靜態的成員屬性,必須用對象訪問,在內部訪問非靜態成員屬性,用$this. 

8.如果你確定一個方法中不需使用到非靜態的成員屬性,則可以將這個方法聲明為靜態方法,不需實例化對象,就可以訪問

例子,演示需要靜態變量的例子

  1. <?PHP 
  2.    function Test() 
  3.    { 
  4.    $w3sky = 0; 
  5.    echo $w3sky
  6.    $w3sky++; 
  7.    } 
  8. ?> 

靜態變量與遞歸函數

  1. <?PHP 
  2.    function Test() 
  3.    { 
  4.    static $count = 0; 
  5.     
  6.    $count++; 
  7.    echo $count
  8.    if ($count < 10) { 
  9.    Test(); 
  10.    } 
  11.    $count--; 
  12.    } 
  13. ?> 

注:靜態變量可以按照上面的例子聲明,如果在聲明中用表達式的結果對其賦值會導致解析錯誤.

例子,聲明靜態變量

  1. <?PHP 
  2.    function foo(){ 
  3.    static $int = 0;// correct 
  4.    static $int = 1+2;   // wrong (as it is an expression) 
  5.    static $int = sqrt(121); // wrong (as it is an expression too) 
  6.     
  7.    $int++; 
  8.    echo $int
  9.    } 
  10. ?> 

最后來說說const

1.它只能用來修飾成員屬性 

2.在類中聲明常量必須使用const 

3.訪問方式和訪問靜態成員屬性一樣(類外使用 類名::成員屬性,類里邊則使用self::成員屬性) 

4.常量一定要在聲明的時候就給初始值

  1. <?php 
  2. class say_const{ 
  3. const CHARSET=”中國”; 
  4. publice function say_hello(){ 
  5.  echo slef::CHARSET; 
  6. $const1=new say_const()’ 
  7. $const1->say_hello(); 
  8. ?> 

常量只能包含標量數據(boolean,integer,float 和 string),不要定義 resource常量. 

可以用函數 constant() 來讀取常量的值.get_defined_constants()可以獲得所有已定義的常量列表. 

如果使用了一個未定義的常量,PHP 假定想要的是該常量本身的名字,如同用字符串調用它一樣(CONSTANT 對應 “CONSTANT”),此時將發出一個 E_NOTICE 級的錯誤.

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 潼关县| 句容市| 宣武区| 怀远县| 博客| 邹城市| 香港 | 大埔区| 全椒县| 廉江市| 博兴县| 太和县| 乌拉特前旗| 论坛| 新营市| 东台市| 荆门市| 兖州市| 九台市| 运城市| 长治市| 平山县| 略阳县| 溧阳市| 印江| 永州市| 吴桥县| 沙坪坝区| 寿宁县| 原平市| 钟山县| 泊头市| 潞西市| 泸西县| 阿荣旗| 海原县| 白银市| 合江县| 新田县| 乐都县| 武穴市|