7.3.4 PHP構造方法
大多數類都有一種稱為構造函數的特殊方法。當創建一個對象時,它將自動調用構造函數,通常用它執行一些有用的初始化任務。
構造函數的聲明與其它操作的聲明一樣,只是其名稱必須是兩個下劃線__construct( )。這是PHP5中的變化;PHP4的版本中,構造函數的名稱必須與類名相同。為了向下兼容,如果一個類中沒有名為__construct( )的方法,PHP將搜索一個與類名相同的方法。
格式: [修飾符] function __construct ( [參數] ) {
... ...
}
boyfriend.class.php
<?php
/*
* 屬性
* 性別:男
* 年齡: 24
* 身高: 175cm
* 眼睛: 大
*
*
* 行為
*
* 做飯
* 做家務
*
* class 類名 {
*
*
* }
*
* 注意: 在類的成員屬性前面一定要有一個修飾詞, 如果不知道使用什么修飾詞, 就可以使用var (關鍵字), 如果一旦有其它的修飾詞就不要有var
*
*
* 只要是對象中的成員, 就必須使用這個對象來訪問到這個對象內部的屬性和方法
*
*
* 構造方法
*
* 1. 是對象創建完成以后, 第一個 自動調用的方法(特殊)
* 2. 方法名稱比較特殊 可以和類名相同名的方法名
* 3. 給對象中的成員賦初值使用的 *
*
*
*
* */
class BoyFriend {
//變量 (成員屬性)
var $name;
var $age;
var $sex;
function BoyFriend($name, $age, $sex="男") {
$this->name = $name;
$this->age = $age;
$this->sex = $sex;
}
//函數 (成員方法)
public function doFan() {
echo "{$this->name} 有做飯的功能<br>";
$this->doJW();
}
function doJW() {
echo "做家務的功能<br>";
}
}
$bf1 = new BoyFriend("高洛峰", 28);
$bf2 = new BoyFriend("高老師", 26, "男");
$bf1 -> doFan();
$bf2 -> doFan();
test.php
<?php
include "boyfriend.class.php";
```