例如,一個交通工具可以定義有顏色、輪胎數、制造商、型號和容量等性質,並定義有停止、前進、轉彎和鳴笛等行為。在OOP術語中,實體的性質和行為的具體定義稱為類(class)。
類的定義與創建
類是具有相同屬性和服務的一組對象的集合。它為屬於該類的所有對象提供了統一的抽象描述,其內部包括屬性和方法兩個主要部分。在面向對象的編程語言中,類是一個獨立的程序單位,它應該有一個類名並包括屬性說明和方法說明兩個主要部分。
類用於表示要在應用程序中處理的實際事物。例如,假設要創建一個管理公共圖書館的應用程序,可能就要包括一些類來表示書籍、雜志、員工、特殊事件、顧客以及需要管理的其他事物。每個實體都包含一組性質和行為,在OOP中分別稱為字段(field)和方法(method),它們定義了實體。PHP 中一般的類創建語法如下:
復制代碼 代碼如下:
class Class_Name
{
// 字段聲明
// 方法聲明
}
創建一個類:
復制代碼 代碼如下:
class Employee
{
private $name;
private $title;
protected $wage;
protected function clockIn() {
echo "Member $this->name clocked in at ".date("h:i:s");
}
protected function clockOut() {
echo "Member $this->name clocked out at ".date("h:i:s");
}
}
這個類名為Employee,定義了3個字段:name、title和wage,還定義了兩個方法:clockIn(簽到)和clockOut(簽離)。
類的應用
一個定義了屬性和方法的類就是一個完整的類了,可以在一個類裡面包含一個完整的處理邏輯。使用 new 關鍵字來實例化一個對象以便應用類裡面的邏輯。可以同時實例化多個對象。
類的實例化:
復制代碼 代碼如下:
object = new class_name();
實例化一個對象後,使用 -> 操作符來訪問對象的成員屬性和方法。比如:
復制代碼 代碼如下:
object->var_name;
object->function_name;
如果要在定義的類裡面訪問成員的屬性或者方法,可以使用偽變量 $this 。$this 用於表示當前對象或對象本身 。
復制代碼 代碼如下:
<?php
class Person {
// 人的成員屬性
var $name; //人的名字
var $age; //人的年齡
//人的成員 say() 方法
function say() {
echo "我的名字叫:".$this->name."<br />";
echo "我的年齡是:".$this->age;
}
}
//類定義結束
$p1 = new Person(); //實例化一個對象
$p1->name = "Gonn"; //給 $p1 對象屬性賦值
$p1->age = 25;
$p1->say(); //調用對象中的 say()方法
?>
程序運行結果:
復制代碼 代碼如下:
我的名字叫:Gonn
我的年齡是:25