• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • 第三節--定義一個類 -- Classes and Objects in PHP5 [3]

    發表于:2007-05-17來源:作者:點擊數: 標簽:Classes三節andObjects定義
    /* +-------------------------------------------------------------------------------+ | = 本文為Haohappy讀Core PHP Programming | = 中Classes and Objects一章的筆記 | = 翻譯為主+個人心得 | = 為避免可能發生的不必要的麻煩請勿轉載,謝謝 | = 歡迎


    /*
    +-------------------------------------------------------------------------------+
    | = 本文為Haohappy讀<<Core PHP Programming>>
    | = 中Classes and Objects一章的筆記
    | = 翻譯為主+個人心得
    | = 為避免可能發生的不必要的麻煩請勿轉載,謝謝
    | = 歡迎批評指正,希望和所有PHP愛好者共同進步!
    | = PHP5研究中心: http://blog.csdn.net/haohappy2004
    +-------------------------------------------------------------------------------+
    */

    第三節--定義一個類

    當你聲明一個類,你需要列出對象應有的所有變量和所有函數—被稱為屬性和方法. 3.1.1中顯示了一個類的構成. 注意在大括號({})內你只能聲明變量或者函數. 3.1.2中顯示了如何在一個類中定義三個屬性和兩個方法.

    3.1.1
    php>class Name extends Another Class 
    { 
       Aclearcase/" target="_blank" >ccess Variable Declaration 
       Access Function Declaration 
    } 



    3.1.2
    <?php 
       //定義一個跟蹤用戶的類 
       class User 
       { 
           //屬性 
           public $name; 
           private $password, $lastLogin; 
    
           //方法 
           public function __construct($name, $password) 
           { 
               $this->name = $name; 
               $this->password = $password; 
               $this->lastLogin = time(); 
               $this->accesses++; 
           } 
    
           // 獲取最后訪問的時間 
           function getLastLogin() 
           { 
               return(date("M d Y", $this->lastLogin)); 
           } 
       } 
    
       //創建一個對象的實例 
       $user = new User("Leon", "sdf123"); 
    
       //獲取最后訪問的時間 
       print($user->getLastLogin() ."<br>\n"); 
    
       //打印用戶名 
       print("$user->name<br>\n"); 
    ?> 



    當你聲明屬性,你不需要指明數據類型. 變量可能是整型,字符串或者是另一個對象,這取決于實際情況.在聲明屬性時增加注釋是一個好主意,標記上屬性的含義和數據類型.

    當你聲明一個方法,你所做的和在類外部定義一個函數是一樣的. 方法和屬性都有各自的命名空間. 這意味著你可以安全地建立一個與類外部函數同名的方法,兩者不會沖突. 例如,一個類中可以定義一個名為date()的方法. 但是你不能將一個方法命名為PHP的關鍵字,如for或者while.

    類方法可能包含PHP中所謂的type hint. Type hint 是另一個傳遞參數給方法的類的名字. 如果你的腳本調用方法并傳遞一個不是類的實例的變量,PHP將產生一個”致命(fatal)錯誤” . 你可能沒有給其它類型給出type hint,就像整型,字符串,或者布爾值. 在書寫的時候, type hint是否應當包含數組類型仍存在爭議.

    Type hint是測試函數參數或者運算符的實例的數據類型的捷徑. 你可能總是返回這個方法. 確認你強制讓一個參數必須是哪種數據類型,如整型. 3.2.1 確保編譯類只產生Widget的實例.

    3.2.1
    <?php 
       //組件 
       class Widget 
       { 
           public $name='none'; 
           public $created=FALSE; 
       } 
    
       //裝配器 
       class Assembler 
       { 
           public function make(Widget $w) 
           { 
               print("Making $w->name<br>\n"); 
               $w->created=TRUE; 
           } 
       } 
    
       //建立一個組件對象 
       $thing = new Widget; 
       $thing->name = 'Gadget'; 
    
       //裝配組件 
       Assembler::make($thing); 
    ?>




    除了傳遞參數的變量外,方法含有一個特殊的變量. 它代表類的個別實例. 你應當用這個來指向對象的屬性和其它方法.一些面向對象的語言假設一個不合格的變量提交給本地屬性,但在PHP中方法的任何變量只是在方法的一定范圍內. 注意在User類的構造函數中這個變量的使用(3.1.2).

    PHP在屬性和方法聲明前定義一個訪問限定語,如public,private和protected. 另外,你可以用”static”來標記一個成員. 你也可以在類中聲明常量. 本章稍后會有不同訪問方式的相關討論.

    你可以在一行中列出相同訪問方式的幾個屬性,用逗號來分隔它們. 在3.1.2中,User類有兩個private屬性--$password和$lastLogin.

    注:本文章為原創文章,版權歸文章作者與超越PHP網站所有,未經本站同意,禁止任何商業轉載。非盈利網站及個人網站轉載請注明出處,謝謝合作!

    原文轉自:http://www.kjueaiud.com

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>