构造方法(_ _construct):

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

1,名字是固定的:_ _construct;

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

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

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

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

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

析构方法(_ _destruct):

说明:

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

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

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

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

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

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

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

如下图所示:

另一个情况:

图示如下:

再来一个情况:

图示如下:

最后一个情况:

图示如下:

开始,其原理为:

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

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

PHP中的构造方法和析构方法的更多相关文章

  1. PHP面向对象的构造方法与析构方法

    构造方法与析构方法是对象中的两个特殊方法,它们都与对象的生命周期有关.构造方法时对象创建完成后第一个被对象自动调用的方法,这是我们在对象中使用构造方法的原因.而析构方法时对象在销毁之前最后一个被对象自 ...

  2. 浅谈PHP面向对象编程(三、构造方法和析构方法)

    3.0 构造方法和析构方法 从我之前的博客可以发现,实例化一个类的对象后,如果要为这个对象的属性赋值,需要直接访问该对象的属性.如果想要在实例化对象的同时就为这个对象的属性进行赋值,则可以通过构造方法 ...

  3. php课程 12-38 php的类的构造方法和析构方法怎么写

    php课程 12-38 php的类的构造方法和析构方法怎么写 一.总结 一句话总结:a.__construct(参数){},__destruct(){},b.如果类中的一个方法和类名相同,则该方法为构 ...

  4. 009-对象—— 构造方法__construct析构方法__destruct使用方法 PHP重写与重载

    <?php /**构造方法__construct析构方法__destruct使用方法 PHP重写与重载 */ //构造方法:当实例化对象时,自动运行的方法 /*class channel{ fu ...

  5. PHP其它常用函数;<<<面向对象(OPP)的三大特性:封装、继承、加态:>>> <----面试题 ;构造方法、析构方法,魔术方法、set、get方法;静态;抽象类;接口

    PHP其它常用函数:     赋值:$r->name = "元素";      取值: echo $r->name;  count()   计算数组中的元素数目或对象中 ...

  6. Java构造方法与析构方法实例剖析

    Java构造方法 类有一个特殊的成员方法叫作构造方法,它的作用是创建对象并初始化成员变量.在创建对象时,会自动调用类的构造方法. 构造方法定义规则:Java 中的构造方法必须与该类具有相同的名字,并且 ...

  7. PHP类(二)-类的构造方法和析构方法

    构造方法 构造方法是对象创建完成后第一个被对象自动调用的方法,用来完成对象的初始化 在每个类中都会有一个构造方法,如果没有声明的话,类中会存在一个没有参数列表并且内容为空的构造方法.如果声明的话,默认 ...

  8. php构造方法与析构方法

    1. 构造方法 <?php //构造方法 __construct() 是在实例化对象时被自动调用 //用途:可以用于初始化程序(可以给成员属性赋值,也可以调用成员方法) //语法:[修饰符] f ...

  9. 【PHP构造方法和析构方法的使用】

    构造方法:__construct,析构方法:__destruct 代码示例: <?php class Person { public $name; public $age; public fun ...

随机推荐

  1. thinkphp查询:

    $Role=D('role'); //查询数据表 $role_data = $Role->order('role_id')->group('role_name')->select() ...

  2. WPF 任务栏颜色 - 简书

    原文:WPF 任务栏颜色 - 简书 先看看效果,这种效果可以用来做进度条或者消息通知闪烁.   image.png   image.png   image.png   image.png 有一个好消息 ...

  3. WPF RoutedEvent and HitTest - 简书

    原文:WPF RoutedEvent and HitTest - 简书 学习的时候切忌心浮气躁,慢慢的过每一个知识点,不要漏掉任何细节.不然当遇到细节问题的时候,会恼,会闹,会悔不该当初--花一下午调 ...

  4. rman中 Backup Set 与 Image Copy 优缺点比较

    Backup Set: 一个备份集中可以包含多个数据文件,存储High Water Mark 下的数据块,并且可以采用压缩方式进行,故大小要小于原始数据文件的大小.restore与 recover的开 ...

  5. 【转载】CPU阿甘

    原文:CPU阿甘  前言 上帝为你关闭了一扇门,就一定会为你打开一扇窗这句话来形容我最合适不过了.我是CPU, 他们都叫我阿甘, 因为我和<阿甘正传>里的阿甘一样,  有点傻里傻气的.上帝 ...

  6. 2 oracle 实现上下键翻历史命令 rlwrap

      1.下载 rlwrap  环境:VMware虚拟机    redhat 7.0    oracle 12c  下载rlwrap:http://files.cnblogs.com/files/kil ...

  7. SRM 698 div1 RepeatString

    250pts RepeatString 题意:问最少修改多少次将一个字符串修改为AA的形式.可以插入一个字符,删除一个字符,修改字符. 思路:枚举分界点,然后dp一下. /* * @Author: m ...

  8. STM32的备份寄存器测试

    1. 研究STM3的备份寄存器,注意,如果要测试这个例程的话,VBAT不能和VDD接一起,必须分开. 2. 理解,备份寄存器可以有VBAT独立供电,也就是外接电池,备份寄存器在VBAT供电情况下,如果 ...

  9. VirtualBox复制CentOS后提示Device eth0 does not seem to be present的解决方法

    使用VirtualBox复制一份CentOS后重新设置了网卡地址,导致启动网络服务出现下图错误 解决方案 执行命令,查看/etc/udev/rules.d/70-persistent-net.rule ...

  10. Unity中C#单例模式使用总结

    一.单例模式优点 单例模式核心在于对于某个单例类,在系统中同时只存在唯一一个实例,并且该实例容易被外界所访问: 意味着在内存中,只存在一个实例,减少了内存开销: 二.单例模式特点 只存在唯一一个实例: ...