zoukankan      html  css  js  c++  java
  • PHP中的构造方法和析构方法

    构造方法(_ _construct)

    构造方法,是一个特殊的方法:

    1,名字是固定的:_ _construct

    2,该方法通常都不要我们自己调用,而是在new一个对象的时候会自动调用。

    3该方法主要的目的是为了在new一个对象的时候,给该对象设置一些“初始值”(初始化工作);

    4,构造方法的参数没有规定,通常是根据实际的需要来定义,目的是为了对象属性数据的初始化;

    先看这种没有构造方法的情形:

     

    可见,这种方式,对对象的属性的数据值初始化不太方便,我们可以利用构造方法改进为:

     

    析构方法(_ _destruct):

    说明:

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

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

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

     

    对象在哪些情况下会被销毁?

    1,如果程序结束,所有变量都会被销毁,自然,变量所代表的对象也会被销毁;

     

    可见,对象销毁的顺序,默认情况下,跟其创建的顺序相反;

    2,当一个对象没有任何变量“指向”它的时候,即使程序还没有结束,也会被销毁;

     

    如下图所示:

     

    另一个情况:

     

    图示如下:

     

    再来一个情况:

     

    图示如下:

     

    最后一个情况:

     

    图示如下:

    开始,其原理为:

     

    赋值之后($o4 = 44),其结果及原理为:

     

    原理$o4中存储的数据是new过来:$o4 = new  C1(“D”);

  • 相关阅读:
    博客园
    未释放的已删除文件
    ssh连接缓慢
    剑指 Offer 38. 字符串的排列
    剑指 Offer 37. 序列化二叉树
    剑指 Offer 50. 第一个只出现一次的字符
    剑指 Offer 36. 二叉搜索树与双向链表
    剑指 Offer 35. 复杂链表的复制
    剑指 Offer 34. 二叉树中和为某一值的路径
    剑指 Offer 33. 二叉搜索树的后序遍历序列
  • 原文地址:https://www.cnblogs.com/457248499-qq-com/p/7383008.html
Copyright © 2011-2022 走看看