• 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-->销毁

  • 相关阅读:
    数据挖掘-基本流程
    ArcGIS GP应用-GP模型服务发布
    ArcGIS GP应用-GP模型创建-缓冲区分析
    Hadoop2的Yarn和MapReduce2相关
    hadoop学习WordCount+Block+Split+Shuffle+Map+Reduce技术详解
    WordCount示例深度学习MapReduce过程
    数组的几种排序算法的实现
    hBase官方文档以及HBase基础操作封装类
    Hive SQL执行流程分析
    Hive SQL的编译过程
  • 原文地址:https://www.cnblogs.com/1500418882qqcom/p/10403306.html
Copyright © 2020-2023  润新知