zoukankan      html  css  js  c++  java
  • 构造函数和析构函数

    所谓构造函数,就是在使用这个类来构造它的对象时所使用的一个函数。

    构造方法 __construct(); 注意前面是两个下划线。

    构造方法的使用时机:每当new一个对象,就会自动对新new出来的对象发挥作用。

    class people{
    private $name;
    function __construct($n){
    $this->name=$n;
    }
    function getmsg(){
    return $this->name;
    }
    }
    $guan=new people("罐罐");
    echo "可爱的小熊猫是:";
    echo "
    ";
    echo $guan->getmsg();

    这个构造函数的作用就是对$this->name进行赋值,它被赋值为$n,那么当我们再次调用getmsg函数取出这个属性的时候,发现取出的值就是“罐罐”了。
    执行结果:
    可爱的小熊猫是:
    罐罐

    一个构造函数的目的通常是对这个类的一些属性进行适当的赋值,它的参数传递是$类变量名=new 类名(参数列表);中的参数列表。比如$guan=new people("罐罐");中的这个“罐罐”就是__construct()中的参数。


    析构函数

    前面介绍了构造函数__construct,它会在类被实例化的时候调用。
    下面介绍析构函数__destruct,它在类对象被销毁的时候调用。
    对象如何销毁:
    1,显式的销毁,unset,赋值为null,都可以。
    2,php是脚本语言,在代码执行到最后一行时,所有申请的内存都要释放掉。自然,对象的那段内存也要释放,对象也就被销毁了。

    class people{
    function __construct(){
    echo "此时类被初始化","
    ";
    }
    function say(){
    echo "罐罐","
    ";
    }
    function __destruct(){
    echo "此时类被析构","
    ";
    }
    }
    $guan=new people();
    $guan->say();

    执行结果显示:
    此时类被初始化
    罐罐
    此时类被析构

    这里明确调用的函数只有$guan->say(); 而__construct和__destruct函数也得到了运行。
    __construct在类被实例化的时候调用,而__destruct在类的实例被销毁的时候时候自动调用。
    在范例中,在页面运行完毕,它会自动销毁创建的对象,此时就会调用这个people类的析构函数。
  • 相关阅读:
    codeforces 820 D. Mister B and PR Shifts(思维)
    codeforces 820 C. Mister B and Boring Game(找规律)
    玲珑杯 1137
    codeforces 817 D. Imbalanced Array(单调栈+思维)
    Atcoder D
    Atcoder C
    Atcode B
    codeforces 816 E. Karen and Supermarket(树形dp)
    codeforces 816 D. Karen and Test(逆元+思维+组合数)
    codeforces 816 C. Karen and Game(模拟+思维)
  • 原文地址:https://www.cnblogs.com/suiyuewuxin/p/5608518.html
Copyright © 2011-2022 走看看