語法, 參考如下 :
語法
class className [extends parentClass] // 引用 parentClass method, 為 parent::methodName(...) { // 引用 var 變數, 為 $this->$變數名稱 var $attrName1; var $attrName2; // 引用 static 變數, 為 className::$變數 [public(預設) / protected / private] [static] [const] $attrName3; // 引用 const 變數, 為 className::變數 [public(預設) / protected / private] [static] [const] $attrName4; ... [ // 建構子 // 沒有建構子, 建立物件為 $變數 = className; // 若有建構子, 且有參數, 建立物件為 $變數 = className( ... ); // 不支援多載建構子, 也就是只能有一個 construct method function __construct( [$paramName1, ...] ) { ... } ] [ // 解構子 // 頁面執行結束, 所有 class 自動解構 // 可以利用 $變數 = null 手動解構 function __destruct() { ... } ] [public(預設) / protected / private] [static] function methodName1( [$paramName1, ...] ) { ... } [public(預設) / protected / private] [static] function methodName2( [$paramName1, ...] ) { ... } ... }
範例 :
範例程式碼
class phoneClass { var $name; var $cpu; var $ram; var $screenSize; static $count = 0; function setName( $name ) { $this->name = $name; } function setOtherData( $cpu, $ram, $screenSize ) { $this->cpu = $cpu; $this->ram = $ram; $this->screenSize = $screenSize; } function showPhoneData() { echo "第 " . phoneClass::$count . " 支手機<br>"; echo "Name: " . $this->name . "<br>"; echo "Cpu: " . $this->cpu . "<br>"; echo "Ram: " . $this->ram . "<br>"; echo "Screen Size: " . $this->screenSize . "<br>"; } } // 建立物件 $phone = new phoneClass; ++phoneClass::$count; $phone->setName("HTC Desire HD"); $phone->setOtherData("1.2 單核心", "1G", "4.3 吋"); $phone->showPhoneData(); // 建立物件 $phone2 = new phoneClass; ++phoneClass::$count; $phone2->setName("Samsung Note2"); $phone2->setOtherData("1.6 四核心", "3G", "5.5 吋"); $phone2->showPhoneData(); 範例結果 :
以上, 參考看看.