PHP构造函数详解

不言
不言 原创
2023-03-24 20:26:01 5650浏览

这篇文章介绍的内容是关于 PHP构造函数详解 ,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下

// ===代码部分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 >';

相关推荐:

PHP属性与方法的注意点

以上就是 PHP构造函数详解 的详细内容,更多请关注php中文网其它相关文章!

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。