面向对象开发使用到的主要标记符:
| 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);
~~~