乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      簡單介紹PHP面向對象

       好亂非常亂 2016-09-25

      面向對象編程的三特點: 封裝性,繼承性(PHP支持單繼承),多態(tài)性
      PHP的一個類必須在一段代碼段中,即一個“”

      1. class PhpClass{  

      2.     public $name;  

      3.     public function toString(){  

      4.         return 'PhpClass';  

      5.     }  


      定義成員方法:  [關鍵詞] function 方法名(){...}

      訪問成員方法:  對象名->成員方法

      定義成員變量:  [關鍵字] 成員變量名

      訪問成員變量:  對象名->成員變量

      關鍵字可以使用 public、private、protected、static和final中的任意一個

      定義類常量:      const 常量名
      訪問類常量:      類名::常量名

      1.     public $name;  

      2.     const PI = 3.1415926;   // 不能有修飾詞  

      3.     public function toString(){  

      4.         return 'PhpClass';  

      5.     }  

      6.     public function printPI(){  

      7.         echo PhpClass::PI.'
        '
        ;  // 直接通過類名訪問  

      8.     }  

      9.     public function printName(){  

      10.         echo $this->name;   // 注意此處的寫法  

      11.     }  

      12. }  

      13. $lycClass = new PhpClass();  

      14. echo $lycClass::PI.'
        '
        // 通過對象訪問  

      15. echo PhpClass::PI.'
        '
        ;  

      16. echo $lycClass->toString().'
        '
        ;  

      17. $lycClass->name = 'Lyc';  

      18. $lycClass->printName(); 

      構造方法和析構方法:

      構造方法: 不寫會默認一個

      void __construct([mixed args [,...]]) 下劃線為兩個

      析構方法: 

      void __destruct(void) 下劃線為兩個

      php使用垃圾回收機制,不用 unset 函數(shù)析構方法也會自動被調用

      1. class PhpClass{  

      2.     public $name;  

      3.     //public function __construct(){} PHP不支持 C++、java 形式上的方法重載  

      4.   

      5.     public function __construct($name){  

      6.         $this->name = $name;  

      7.     }  

      8.     public function __destruct(){  

      9.         echo '析構一下...';  

      10.     }  

      11. }  

      12. $lycClass = new PhpClass('lyc');  

      13. echo $lycClass->name;  

      14. //unset($lycClass); 不寫也會調用 __destruct()

      繼承和多態(tài)

      繼承: 在PHP中子類可以繼承父類的所有public和protected修飾的成員變量和方法,包括構造方法。

      聲明繼承的格式: 

      class subClass extendes superClass{

      ......

      }

      多態(tài):(覆蓋和重載兩種,覆蓋和c++、java中重寫相同)

      重載概念和c++、java中的重載概念相同,但實現(xiàn)方式不同,重載實例:

      1. class PhpClass{  

      2.     public $nae;  

      3.     // PHP中有很多以兩個下劃線開頭的方法,被稱為魔術方法***********************  

      4.     /* __call()方法的作用是: 當程序試圖調用不存在或不可見的成員方法時 

      5.      * PHP會先調用__call()方法來存儲方法名及其參數(shù)。__call()方法包含 

      6.      * 兩個參數(shù),即方法名和方法參數(shù)。其中,方法參數(shù)是以數(shù)組形式存在的  */  

      7.     function __call($name$arguments){  

      8.         // 通過count($arguments)獲得參數(shù)個數(shù)  

      9.         $argNum = count($arguments);  

      10.         //echo $argNum.'***************
        ';
          

      11.         if($name == 'right'){   // 一下方法調用中的 $this-> 不可省略  

      12.             switch($argNum){  

      13.                 case 0:  

      14.                     $this->right0();  

      15.                     break;  

      16.                 case 1:  

      17.                     $this->right1($arguments[0]);  

      18.                     break;  

      19.                 case 2:  

      20.                     $this->right2($arguments[0],$arguments[1]);  

      21.                     break;  

      22.                 default:  

      23.                     echo '參數(shù)可能多了,我不干了...
        '
        ;  

      24.             }  

      25.         }else if($name == 'left'){  

      26.             switch($argNum){  

      27.                 case 1:  

      28.                     $this->left1($arguments[0]);  

      29.                     break;  

      30.                 case 2:  

      31.                     $this->left2($arguments[0],$arguments[1]);  

      32.                     break;  

      33.                 default:  

      34.                     echo '參數(shù)不對,我不干了...
        '
        ;  

      35.             }  

      36.         }else{  

      37.             echo '什么也不做...';  

      38.         }  

      39.     }  

      40.     //幾種實現(xiàn)重載的方法,方法名不相同  

      41.     public function right0(){  

      42.         echo 'right0
        '
        ;  

      43.     }  

      44.     public function right1($arg){  

      45.         echo 'right1 '.$arg.'
        '
        ;  

      46.     }  

      47.     public function right2($arg1,$arg2){  

      48.         echo 'right1 '.$arg1.' '.$arg2.'
        '
        ;  

      49.     }  

      50.     public function left0(){  

      51.         echo 'left0
        '
        ;  

      52.     }  

      53.     public function left1($arg){  

      54.         echo 'left1 '.$arg.'
        '
        ;  

      55.     }  

      56.     public function left2($arg1,$arg2){  

      57.         echo 'left1 '.$arg1.' '.$arg2.'
        '
        ;  

      58.     }  

      59. }  

      60. $lyc = new PhpClass();  

      61. $lyc->left();           // 此處實現(xiàn)重載  

      62. $lyc->left('LEFT');  

      63. $lyc->left('LEFT','LYC');  

      64. $lyc->right();  

      65. $lyc->right('RIGHT');  

      66. $lyc->right(123,'LYC');  

      67. $lyc->right(123,'lyc','right'); 


        本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內容均由用戶發(fā)布,不代表本站觀點。請注意甄別內容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權內容,請點擊一鍵舉報。
        轉藏 分享 獻花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多