// =代码部分1=
class Human {
public $name = '李四';
public $gender = '男';
}
$a = new Human();
$b = new Human();
$c = new Human();
echo $a->name,'<br >';
echo $b->name,'<br >';
echo $c->name,'<br >';
// 三个李四
echo $a->gender,'<br >';
echo $b->gender,'<br >';
echo $c->gender,'<br >';
// 三个男
echo '<hr >';
// =笔记部分1=
/*
在类里,有一个构造函数,
用来初始化对象用的,
利用构造函数,你有机会操作对象,
来改变它的值
构造函数 __construct();
构造函数的使用时机:
每当new一个对象,就会自动新new出来的对象发挥作用
*/
// 构造函数__construct()
// =代码部分2=
class People {
public function __construct() {
$this->name = '李四';
$this->gender = '女';
}
public $name = null;
public $gender = null;
}
$a = new People();
$b = new People();
$c = new People();
echo $a->name,'<br >';
echo $b->name,'<br >';
echo $c->name,'<br >';
// 三个李四
echo '<hr >';
// =代码部分3=
class People2 {
public function __construct($name,$gender) {
// 通过在构造函数括号内定义变量,传给构造方法
$this->name = $name;
$this->gender = $gender;
}
// 构造函数无法重载
/*
public function __construct() {
$this->name = 'nobody';
}
*/
public $name = null;
public $gender = null;
}
$a = new People2('张飞','男');
$b = new People2('空姐','女');
$c = new People2('孙二娘','女');
echo $a->name,'<br >';
echo $b->name,'<br >';
echo $c->name,'<br >';
echo '<hr >';
// 析构函数__destruct()
// =笔记部分2=
/*
析构函数 __destruct();
构造函数是在对象产生的时候,自动执行
析构函数是在对象销毁的时候,自动执行
构造函数就是出生时啼哭
析构函数就是临终遗言
对象如何销毁?
1、显式的销毁,unset,赋值为null,都可以
2、PHP在代码执行到最后一行时,所有申请的内存都要释放掉
自然,对象的那段内存也要释放,对象就被销毁了.
*/
// =代码部分4=
class Human2 {
public $name = null;
public $gender = null;
public function __construct() {
echo '出生了<br >';
}
public function __destruct() {
echo '再见<br >';
}
}
$a = new Human2();
$b = new Human2();
$c = new Human2();
$d = new Human2();
unset($a);
$b = false;
$c = null;
echo '<hr >';