zoukankan      html  css  js  c++  java
  • 跟着百度学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


  • 相关阅读:
    屏幕截图(带光标)
    warning LNK4070的解决办法
    2015-08-10
    wmic的用法
    2015-03-12
    MFC Button控件自绘
    MFC窗口创建、销毁消息流程
    DDX_Control、SubclassWindow和SubclassDlgItem
    css animation fade in
    kohana reading session data error(session_start)引起的错误
  • 原文地址:https://www.cnblogs.com/xishaonian/p/6139574.html
Copyright © 2011-2022 走看看