面向對象開發使用到的主要標記符:
| class | -> | this | construct | | | | |
| --- | --- | --- | --- | --- | --- | --- | --- |
|_set | _get| _isset _unset | | | | | |
| extend | | | | | | | |
| parent:: | public | | | | | | |
| user | | | | | | | |
| | | | | | | | |
**如何去使用對象中的成員:**
~~~
<?php
class Person {
// 下面是人的成員屬性
var $name; // 人的名子
var $sex; // 人的性別
var $age; // 人的年齡
// 下面是人的成員方法
function say() { // 這個人可以說話的方法
echo "這個人在說話";
}
}
$p1 = new Person(); // 創建實例對象$p1
$p2 = new Person(); // 創建實例對象$p2
// 下面三行是給$p1對象屬性賦值
$p1->name = "張三";
$p1->sex = "男";
$p1->age = 20;
// 下面三行是訪問$p1對象的屬性
echo "p1對象的名子是:" . $p1->name;
echo "p1對象的性別是:" . $p1->sex;
echo "p1對象的年齡是:" . $p1->age;
// 下面兩行訪問$p1對象中的方法
$p1->say();
// 下面三行是給$p2對象屬性賦值
$p2->name = "李四";
$p2->sex = "女";
$p2->age = 30;
// 下面三行是訪問$p2對象的屬性
echo "p2對象的名子是:" . $p2->name;
echo "p2對象的性別是:" . $p2->sex;
echo "p2對象的年齡是:" . $p2->age;
// 下面兩行訪問$p2對象中的方法
$p2->say();
$p2->run();
?>
~~~
**$this的使用方法**
~~~
$this->屬性: $this->name; $this->age; $this->sex;
$this->方法 :$this->say(); $this->run();
~~~
**構造函數與析構函數**
> 這里可以把構造函數理解為一個表格結構,或者一種框架,后期一定按照這種格式進行下去。
~~~
// 定義一個構造方法參數為姓名$name、性別$sex和年齡$age
function __construct($name, $sex, $age) {
// 通過構造方法傳進來的$name給成員屬性$this->name賦初使值
$this->name = $name;
// 通過構造方法傳進來的$sex給成員屬性$this->sex賦初使值
$this->sex = $sex;
// 通過構造方法傳進來的$age給成員屬性$this->age賦初使值
$this->age = $age;
}
// 這個人的說話方法
function say() {
echo "我的名子叫:" . $this->name . " 性別:" . $this->sex . " 我的年齡是:" . $this->age;
}
}
// 通過構造方法創建3個對象$p1、p2、$p3,分別傳入三個不同的實參為姓名、性別和年齡
$p1 = new Person("張三","男", 20);
$p2 = new Person("李四","女", 30);
~~~