Jollen's PHP 專欄「2.06 自訂類別」裡的所有文章!

  

48. 如何自訂 class?

jollen 發表於 October 27, 2006 3:59 PM

PHP 也提供我們定義 class (類別) 的機制,class 稱為類別,為資料與函數的集合,class 裡的資料與函數稱為 data member 與 member function。我們來看底下這一個簡單的 class 範例: <?php class Cart { var $items; //data member function add_item($article, $num) { //member function $this->items[$article] += $num; } function del_item($article, $num) { //member function if ($this->item[$article]...

49. "$this" 這是什麼東西?

jollen 發表於 October 27, 2006 4:00 PM

我所在的類別。 member function 可以透過 $this 變數來參考自己類別裡的 data member 或 member function,例如我們在 Cart 類別裡宣告 $item 的變數,member function 就可這麼使用: $this->items; 表示參考自己所在類別裡的 $items 變數。要注意的是,底下的寫法是錯誤的,而且初學者也很容易混淆: $this->$items; 要注意參考變數 (data member) 時,不需加上 $,我們可以將 this->items 整個看成是變數名稱,因此寫成 $this->items 才對。...

50. "derived class" 是什麼東西?

jollen 發表於 October 27, 2006 4:00 PM

class 可以繼承自其它的 class 的所有內容,包括 data members 和 member functions,這樣的 class 稱為 derived class,例如: <?php class Shopping [[extends Cart]] { var $customer, $telephone; function person($name, $tel) { $this->customer = $name; $this->telephone = $tel } } ?> 表示 shopping 這個類別是繼承自 Cart 類別,當然...

51. PHP 的 "constructor"(建構子)?

jollen 發表於 October 27, 2006 4:01 PM

與 class 同名的 member function 即為 constructor (建構子),constructor 在物件生成時自動執行,例如: <?php class Shopping extends Cart { var $customer, $telephone; function Shopping() { $this->customer = "GUEST"; $this->telephone = "UNKNOW"; } function person($name, $tel) { $this->customer = $name; $this->telephone = $tel } }...

52. :: 運算子的用法?

jollen 發表於 October 27, 2006 4:01 PM

熟悉 C++ 朋友對於 :: 運算子一定不莫生,當物件還未生成時,我們可以使用 :: 運算子來呼叫類別裡的函數。 請看底下的範例: <?php class base_cart { function base_cart() { echo "Shopping cart is based on PHP 4."; } } class Cart extends base_cart { var $shop; var $items; function init() { $this->shop = "Aloud...

| Top | Jollen's Forum |
Jollen's PHP 專欄採用 Attribution-NonCommercial-NoDerivs 2.5 授權條款
Copyright(c) 2001-2007 www.jollen.org