PHP构造函数详解

不言
不言asal
2018-04-26 10:44:456484semak imbas

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

// ===代码部分1===

class Human {
    public $name = '李四';    
    public $gender = '男';
}
$a = new Human();
$b = new Human();
$c = new Human();
echo $a->name,&#39;<br >&#39;;
echo $b->name,&#39;<br >&#39;;
echo $c->name,&#39;<br >&#39;;
// 三个李四
echo $a->gender,&#39;<br >&#39;;
echo $b->gender,&#39;<br >&#39;;
echo $c->gender,&#39;<br >&#39;;
// 三个男
echo &#39;<hr >&#39;;



// ===笔记部分1===

/*
在类里,有一个构造函数,
用来初始化对象用的,
利用构造函数,你有机会操作对象,
来改变它的值

构造函数 __construct();
构造函数的使用时机:
每当new一个对象,就会自动新new出来的对象发挥作用
*/



// 构造函数__construct()

// ===代码部分2===

class People {
    public function __construct() {
        $this->name = &#39;李四&#39;;        $this->gender = &#39;女&#39;;
    }    public $name = null;    public $gender = null;
}
$a = new People();
$b = new People();
$c = new People();
echo $a->name,&#39;<br >&#39;;
echo $b->name,&#39;<br >&#39;;
echo $c->name,&#39;<br >&#39;;
// 三个李四
echo &#39;<hr >&#39;;



// ===代码部分3===

class People2 {
    public function __construct($name,$gender) {// 通过在构造函数括号内定义变量,传给构造方法
        $this->name = $name;        $this->gender = $gender;
    }// 构造函数无法重载
    /*
    public function __construct() {
        $this->name = &#39;nobody&#39;;
    }
    */

    public $name = null;    
    public $gender = null;
}
$a = new People2(&#39;张飞&#39;,&#39;男&#39;);
$b = new People2(&#39;空姐&#39;,&#39;女&#39;);
$c = new People2(&#39;孙二娘&#39;,&#39;女&#39;);
echo $a->name,&#39;<br >&#39;;
echo $b->name,&#39;<br >&#39;;
echo $c->name,&#39;<br >&#39;;
echo &#39;<hr >&#39;;



// 析构函数__destruct()

// ===笔记部分2===

/*
析构函数 __destruct();

构造函数是在对象产生的时候,自动执行
析构函数是在对象销毁的时候,自动执行

构造函数就是出生时啼哭
析构函数就是临终遗言

对象如何销毁?
1、显式的销毁,unset,赋值为null,都可以
2、PHP在代码执行到最后一行时,所有申请的内存都要释放掉
自然,对象的那段内存也要释放,对象就被销毁了.

*/



// ===代码部分4===

class Human2 {

    public $name = null;    
    public $gender = null;    
    public function __construct() {
        echo &#39;出生了<br >&#39;;
    }    
    public function __destruct() {
        echo &#39;再见<br >&#39;;
    }
}$a = new Human2();
$b = new Human2();
$c = new Human2();
$d = new Human2();
unset($a);
$b = false;
$c = null;
echo &#39;<hr >&#39;;

相关推荐:

PHP属性与方法的注意点

Atas ialah kandungan terperinci PHP构造函数详解 . Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya: PHP属性与方法的注意点Artikel seterusnya:PHP析构函数与回收机制