跟着百度学PHP[4]OOP面对对象编程-6-构造方法(__construct)和构析方法(__destruct)

函数就是成员方法(方法有三:构造方法、成员方法、析构方法)

下面是两种方法。

构造方法构析方法

00x1 构造方法

构造方法会在创建对象之后自动调用。其名称为__construct

<?php 
class Student{
    var $name;
    var $age;
    var $sex;

    function __construct(){    //可以从输出中看得出来,我们并没有输出这个方法,但是他自动输出了。这个就是构造方法的作用,会自动的被调用!
        echo "520PHP<br />"; 
    }
    function study(){
        echo "学习中,请稍后!";
    }
}
    $daniu = new Student;
    $daniu -> name="大牛梦!";
    echo $daniu->name;

 ?>

 输出效果:

00x2 构析方法

析构函数的作用:析构函数是用来在对象关闭时完成的特殊工作,比如在实例化同时打开某文件,但是它什么时候关闭呢,用完就关闭呗,所以析构函数直接关闭它,

构析方法与构造方法相反。析构函数是PHP5新添加的内容,PHP4中没有析构函数。

构析方法的名称必须为__destruct,且构析方法不能带有参数

<?php 
/**
* 
*/
class Student
{
    var $name;
    var $sex;
    var $age;
    
    function __construct($name,$sex,$age)
    {
        $this->name=$name;
        $this->sex=$sex;
        $this->age=$age;
    }
    
    function say(){
        echo "我叫:".$this->name."我是一个".$this->sex.""."我今年".$this->age."岁了<br>";
    }

    function __destruct(){
        echo $this->name;
    }
}
    $zhangsan=new Student("张三","",21);
    $lisi =new Student("李四","",23);
    $wangwu=new Student("王五","",25);

    $zhangsan->say();
    $lisi->say();
    $wangwu->say();

 ?>

不加那个函数之前正常的输出是这样的:

加了之后就变成了如下这样:

可以很清楚的看到多了王五李四张三

也就是说他在最后执行了__destruct。

00x2 构析方法

    总的来说就是构造方法在一开始自动执行,析构方法在最后的时候自动执行。

区别:构造方法可有可无的参数,析构方法必须要有参数! 

THE END


原文地址:https://www.cnblogs.com/xishaonian/p/6139574.html