PHP 入門指南 - 類別

類別 (class) 用來設計自己需要的物件 (object) ,這是說,類別是物件的模板。 PHP 中設計類別使用關鍵字 (keyword) class ,後面接大括弧定義類別的屬性 (property) 與方法 (method)




屬性就是類別專屬的變數 (variable) ,方法為類別專屬的函數 (function) ,同樣用關鍵字 function 定義。另外,屬性在定義時必須加入存取標籤 (accsee label) publicprotectedprivate ,屬於 public 的成員可以在程式中的任何地方存取, private 則只能在同個類別裡。


我們舉一例如下
<?php
echo "\n";
$d1 = new Demo;
echo $d1->do_something()."\n";
$d2 = new Demo;
$d2->a = 44;
$d2->b = 55;
echo $d2->do_something()."\n";
echo "\n";

class Demo {
    public $a = 22;
    public $b = 33;
    
    function do_something() {
        return $this->a + $this->b;
    }
}

/* 《程式語言教學誌》的範例程式
    http://pydoing.blogspot.com/
    檔名:classdemo.php
    功能:示範 PHP 程式 
    作者:張凱慶
    時間:西元 2012 年 11 月 */
?>


此例中的 Demo 類別定義兩個 public 屬性 $a$b ,並設定 $a 的初值為 22 , $b 的初值為 33
public $a = 22;
public $b = 33;


另外定義一個 do_something() 方法,回傳 $a$b 的相加值
function do_something() {
    return $this->a + $this->b;
}


存取屬性使用 $this 變數,後面接 -> 運算子,然後是去除金錢符號 $ 的屬性名稱。


建立新物件用關鍵字 new ,呼叫方法或存取屬性同樣都用 -> 運算子
echo "\n";
$d1 = new Demo;
echo $d1->do_something()."\n";
$d2 = new Demo;
$d2->a = 44;
$d2->b = 55;
echo $d2->do_something()."\n";
echo "\n";


執行看看結果吧



稍後類別做進一步介紹,在此之前,我們先轉換 PHP 的執行環境到伺服器底下,先來認識 Apache 伺服器(AppServ)吧!


中英文術語對照
類別class
物件object
關鍵字keyword
屬性property
方法method
變數variable
函數function
存取標籤accsee label


您可以繼續參考
基礎篇


相關目錄
回 PHP 入門指南
回 PHP 教材
回首頁


參考資料
http://php.net/manual/en/language.oop5.php
http://www.php.net/manual/en/language.oop5.basic.php
http://www.php.net/manual/en/language.oop5.properties.php

1 則留言:

陳嚴章 提到...

請問是access label嗎?