PHP class 類別物件

在 PHP 中要建立 class 類別,

語法, 參考如下 :
 語法
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();

範例結果 :


以上, 參考看看.

Related Posts Plugin for WordPress, Blogger...