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”);

  • 相关阅读:
    01-Git 及其可视化工具TortoiseGit 的安装和使用
    IntelliJ IDEA中Warning:java:源值1.5已过时, 将在未来所有发行版中删除
    JVM学习笔记四_垃圾收集器与内存分配策略
    JVM学习笔记三_异常初步
    CentOs7 图形界面和命令行界面切换
    基本概念一
    JVM学习笔记二_对象的创建、布局和定位
    JVM学习笔记一_运行时数据区域
    个人阅读作业二
    软件工程随笔
  • 原文地址:https://www.cnblogs.com/wjlbk/p/12633502.html
Copyright © 2011-2022 走看看