PHP构造方法和析构函数

构造函数 ,是一种特殊的方法。主要用来在创建对象时初始化对象, 即为对象成员变量赋初始值,总与new运算符一起使用在创建对象的语句中。特别的一个类可以有多个构造函数 ,可根据其参数个数的不同或参数类型的不同来区分它们 即构造函数的重载。

例:创建一个类,初始化创建的类

class p{
//定义变量
    public $name;
    public $sex;
    public $age;

}


//赋值
$a1 = new p();
$a1->name = '张三';
$a1->sex = '男';
$a1->age = 20;

  如果需要的变量很多,可以用构造函数来写,构造函数的作用就是用来初始化对象的。该方法可以没有参数,也可以有多个参数

定义构造函数:__construct(),注意的是函数construct前面是两个下划线"_".

class p{
    public $name;                     //定义变量
    public $age;
    public $sex;
    public $height;

    function __construct($name,$age,$sex,$height){
    $this->name = $name;         //为变量赋值
    $this->age = $age;
    $this->sex = $sex;
    $this->height = $height;

    }

    function Play(){
    if($this->height>175 || $this->age < 22){
    return    $this->name . "可以打篮球";
    }else{
    return $this->name . "不具备打球的条件";
        }

    }

}

$Preson1 = new p("白白","20","女","180");

echo $$Preson1->Playl();    

  构造方法是初始化对象时使用的,如果没有构造方法,那么PHP会自动生成一个。自动生成的构造方法没有任何参数,没有任何操作。

析构方法:

1、析构方法是一个特殊的方法,名字为固定的词:_ _destruct

2、析构方法是在一个对象被“销毁”的时候会自动被调用的方法——我们无法调用它;

3、析构方法不能带参数(形参),但方法中也可以使用$this这个词,代表“当前对象”

析构方法没有返回值.

主要作用是释放资源.并不是销毁对象本身.

在销毁对象前,系统自动调用该类的析构方法.

.一个类最多只有一个析构方法.

class Person 
    { 
        public $name; 
        public $age; 
        //构造方法 
        function __construct($name,$age) 
        { 
            $this ->name = $name; 
            $this ->age = $age;  
        } 
        //析构方法 
        function __destruct() 
        { 
            echo "姓名:".$this->name.", 年龄".$this->age."-->销毁<br />"; 
        } 
    } 
    $p1= new Person("小小",18); 
    $p2= new Person("大大",17); 

  结果: 

     姓名:小二, 年龄17-->销毁 

     姓名:小一, 年龄18-->销毁

原文地址:https://www.cnblogs.com/1500418882qqcom/p/10403306.html