標籤:php 物件導向 oop
建立 OOP
類的建立:
class Computer {
//類的欄位(成員)
//類的方法
}
對象的聲明:
$computer = new Computer();
new 標識符是為了在內測中建立一個對象(執行個體),而 Computer()就是那個類所生
成的執行個體。
$computer 是一個變數,而且又是產生執行個體的引用。
有時,你可能需要建立多個對象。
$computer2 = new Computer();
使用 var_dump()函數可以列印變數的相關資訊。
欄位(成員)的添加:
class Computer {
//類的欄位(成員)
public $_name = ‘聯想120‘;
public $_model = ‘LX‘;
}
1.聲明欄位:public $_name = ‘聯想 120‘
a) public 是修飾符,表示這是一個公用欄位,可以通過外部直接存取。
b) $_name 是變數名。
c) ‘聯想 120‘是變數的值。
2.讀取欄位
echo $computer->_name;
3.設定欄位
$computer->_name = ‘IBM110‘;
方法的建立
class Computer {
//類的方法
function run () {
echo ‘我成功的運行了!‘;
}
}
棧記憶體
$computer
$computer2
堆記憶體
new Computer(); 執行個體 1
new Computer(); 執行個體 2
執行方法
$computer->run();
也可以在方法添加一些參數,執行的時候,傳入這些參數。
class Computer {
//類的方法
function run ($_what) {
echo $_what.‘成功的運行了!‘;
}
}
$computer = new Computer();
$computer->run(‘電腦‘);
構造方法
所謂構造方法,也是方法,只不過是一種特殊的方法。而方法名必須和類名一致 ,
並且不需要像普通方法一樣,必須通過調用才能執行,只需要執行個體化即完成調用過程 。
一般來說,構造方法總是在做一些初始化的工作。
class Computer {
//構造方法
function Computer() {
echo ‘我是構造方法!‘;
}
}
new Computer(); //這樣即完成了調用
在 PHP5 我們可以通過__construct 的內建方法來識別構造方法,而不用再需要和
類名相同了。
class Computer {
//構造方法
function __construct() {
echo ‘我是構造方法!‘;
}
}
相對應構造方法,還有一種內建的方法是析構方法,它的用途在整個類使用完畢都
執行。一般可用於清理記憶體中對象(指令碼執行完畢的時候會自動清理)。而如果有指令碼執
行完畢後並沒有清理的,比如資料庫資料等,就有必要使用析構方法。
class Computer {
//析構方法
function __destruct() {
echo ‘我是析構方法‘;
}
}
php 物件導向 建立OOP