語法, 參考如下 :
語法
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();
範例結果 :
以上, 參考看看.
