7.2.1 PHP如何抽象一個類
類的聲明
成員屬性
成員方法
類的聲明
簡單格式:
[修飾符] class 類名{ //使用class關鍵字加空格后加上類名
[成員屬性] //也叫成員變量
[成員方法] //也叫成員函數
}
完整格式:
[修飾符] class 類名 [extends 父類] [implements 接口1[,接口2...]]{
[成員屬性] //也叫成員變量
[成員方法] //也叫成員函數
}
成員屬性
格式:
修飾符 $變量名[=默認值]; //如:public $name="zhangsan";
注意:成員屬性不可以是帶運算符的表達式、變量、方法或函數調用。
public $var3 = 1+2; //錯誤格式
public $var4 = self::myStaticMethod(); //錯誤格式
public $var5 = $myVar; //錯誤格式
正確定義方式:
public $var6 = 100; //普通數值(4個標量:整數、浮點數、布爾、字串)
public $var6 = myConstant; //常量
public $var7 = self::classConstant; //靜態屬性
public $var8 = array(true, false); //數組
常用屬性修飾符:public、protected、private、static、var(過時)
成員方法
成員方法格式:
[修飾符] function 方法名(參數..){
[方法體]
[return 返回值]
}
修飾符:public、protected、private、static、abstract、final
聲明的成員方法必須和對象相關,不能是一些沒有意義的操作
//下面聲明了幾個人的成員方法,通常將成員方法聲明在成員屬性的下面
public function say(){ //人可以說話的方法
echo "人在說話"; //方法體
}
public function run(){ //人可以走路的方法
echo "人在走路"; //方法體
}
<?php //聲明一個電話類,類名為Phone
class Phone {
//聲明4個與電話有關的成員屬性
public $Manufacturers; //第一個成員屬性,用于存儲電話的外觀
public $color; //第二個成員屬性,用來設置電話的外觀顏色
public $Battery_capacity; //第三個成員屬性,用來定義電話的電池容量
public $screen_size; //第四個成員屬性,用來定義電話的屏幕尺寸
//第一個成員方法用來聲明電話具有接打電話的功能
public function call(){
echo "正在打電話"; //方法體,可以是打電話的具體內容
}
//第二個成員方法用來聲明電話具有發信息的功能
public function message(){
echo "正在發信息"; //方法體,可以是發送的具體信息
}
//第三個成員方法用來聲明電話具有拍照的功能
public function photo() {
echo "正在拍照"; //方法體,可以是拍照的整個過程
}
}