zoukankan      html  css  js  c++  java
  • php面向对象的构造方法与析构方法

    构造方法与析构方法是对象中的两个特殊方法,即对象的生命周期。

    构造方法:对象创建完成后第一个被对象自动调用的方法。

    析构方法:对象在销毁之前最后一个被对象自动调用的方法。

    所以通常使用构造方法完成对象的初始化工作,使用析构方法完成对象在销毁前的清理工作。

    构造方法:

    ①一个类只能有一个构造方法!

    ②构造方法没有返回值!

    ③构造方法的作用是初始化新对象,在创建构造方法后,系统将自动调用!

    复制代码
    class person{  
      public $name;  
      public $age;  
      //构造方法1 (php4、php5)  
      public function __construct($name,$age){  
        $this->age=$age;  
        $this->name=$name;  
      }  
      //构造方法2:(php4)  
      public function person($name,$age){
         $this->age=$age;  
        $this->name=$name;
      } 
    }  
    //两种构造方法同时存在时,优先输出方法1; 
    $po=new person("aaa",20);  
    echo $po->name.$po->age;  
    复制代码

    析构方法:

    析构方法是用来释放资源:如释放数据库的链接,或图片链接或销毁某个对象等等,主要特点如下:

    ①系统自动调用。

    ②主要用于释放资源。

    ③析构函数调用的顺序:先进栈后出栈。

    ④当一个对象成为垃圾对象的时候,该析构函数会被立即调用。 所谓垃圾对象是指没有变量再引用它了,一旦一个对象成为垃圾对象,析构函数会被立即调用!

    复制代码
    class person{  
        public $name;  
        public $age;  
        //构造方法 (没有返回值,直接调用!)  
        public function __construct($name,$age){  
            $this->age=$age;  
            $this->name=$name;   
        }  
        //析构方法  
        public function __destruct(){  
            echo $this->name."销毁资源";  
        }  
    }
       
    $po1=new person("moon",20);  
    $po2=new person("sky",20);
    
    //先输出sky销毁资源,再输出moon销毁资源   
  • 相关阅读:
    POJ 1182 食物链(带权并查集)
    UVa 10655 n次方之和(矩阵快速幂)
    2016湘潭邀请赛—Heartstone
    2016湘潭邀请赛—Gambling
    UVa 10375 选择与除法(唯一分解定理)
    UVa 1637 纸牌游戏(全概率公式)
    POJ 2443 Set Operation(压位加速)
    UVa 11248 网络扩容(最大流(需要优化))
    51Nod 1737 配对(树的重心)
    51Nod 1070 Bash游戏 V4(斐波那契博弈)
  • 原文地址:https://www.cnblogs.com/lyzaidxh/p/12772158.html
Copyright © 2011-2022 走看看