构造方法与析构方法是对象中的两个特殊方法,它们都与对象的生命周期有关。构造方法时对象创建完成后第一个被对象自动调用的方法,这是我们在对象中使用构造方法的原因。而析构方法时对象在销毁之前最后一个被对象自动调用的方法,这也是我们在对象中使用析构方法的原因。所以通常使用构造方法完成一些对象的初始化工作,使用析构方法完成一些对象在销毁前的清理工作。
构造方法:
①一个类只能有一个构造方法!
②构造方法没有返回值。
③构造方法的作用是对新对象的初始化,但并不能创造对象本来、在创建构造方法后,系统将自动调用构造方法!

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php 
    class person{ 
         public $name
         public $age
          //构造方法 (没有返回值,直接调用!) 
         public function __construct($name,$age){ 
             //this 是一个引用对象本身,相对于当前对象的地址! 
             $this->age=$age
             $this->name=$name
             echo "这是一个构造方法 <br/>"
         
         //构造方法2:(php4中方法) 
         public function person(){ 
 
             echo"OK<br/>"
         
     
         //两种构造方法同时存在时,优先输出方法1; 
         $po=new person("aaa",20); 
         echo $po->name.$po->age; 
?>

析构方法:
析构方法主要作用是用来释放资源!如释放数据库的链接,或图片链接或销毁某个对象等等,主要特点如下:
①系统自动调用。
②主要用于释放资源
③析构函数调用的顺序,先创建的对象,先被销毁(最先创建的会被压栈)。
④当一个对象成为垃圾对象的时候,该析构函数会被立即调用。进程结束后退出! 所谓垃圾对象就是指没有任务变量再引用它了,一旦一个对象成为垃圾对象,析构函数会被立即调用!

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php 
    class person{ 
         public $name
         public $age
          //构造方法 (没有返回值,直接调用!) 
         public function __construct($name,$age){ 
             $this->age=$age
             $this->name=$name
             echo "这是一个构造方法 <br/>"
         
         //析构方法 
         public function __destruct(){ 
             echo $this->name."销毁资源"
         
     
         //两种构造方法同时存在时,优先输出方法1; 
         $po=new person("aaaa",20); 
         $po1=new person("bbbb",20); 
         $po2=new person("cccc",20); 
 
?>

当在$po=new person(“aaaa”,20);后面增加 $po=null;

 

>> 本文固定链接: http://php.ncong.com/php_course/oop/duixiangfangfa.html

>> 转载请注明: 恩聪php 2014年07月23日 于 恩聪PHP学习教程 发表

PHP面向对象的构造方法与析构方法的更多相关文章

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  8. PHP中的构造方法和析构方法

    构造方法(_ _construct): 构造方法,是一个特殊的方法: 1,名字是固定的:_ _construct: 2,该方法通常都不要我们自己调用,而是在new一个对象的时候会自动调用. 3,该方法 ...

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

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

随机推荐

  1. 学习python的记录

    今天买了本head first pyhton,目的用于更加方便的学习自动化,希望可以坚持下来,没看完一张,在博客园里做出笔记 环境:公司或家中的windows7  python3.6版本 书籍:hea ...

  2. iOS 摇一摇的实现-备用

    - (void)viewDidLoad { [super viewDidLoad]; [[UIApplication sharedApplication] setApplicationSupports ...

  3. 真正的手机破解wifi密码,aircrack-ng,reaver,仅限mx2(BCM4330芯片)

    仅限mx2(BCM4330芯片),mx可能有戏没测试(BCM4329?),mx3不行. PS:原生安卓应用,非虚拟机 reaver,不知道是啥的看这里http://tieba.baidu.com/p/ ...

  4. Xamarin.Forms-VS安装调试错误

    编译android项目报错检查android sdk 是否安装成功后发现报错如下图:     点击->工具->android sdk manager 报错 错误原因没有找到 android ...

  5. Android 利用Application对象存取公共数据

    本文章来给大家介绍Android 利用Application对象存取公共数据. Android系统在运行每一个程序应用的时候,都会创建一个Application对象,用于存储与整个应用相关的公共变量. ...

  6. unix网络编程之简介

    通常客户一次只与一个服务器通信, 上图为:一个服务器同时处理多个客户的请求. 上图为:客户与服务器使用TCP协议在同一个以太网中通信. 路由器是广域网的架构设备.今天,最大的广域网是因特网. 上图为: ...

  7. 配置Delphi工具菜单 转

    配置Delphi工具菜单 Delphi工具菜单是可配置的.缺省时,Delphi Tools工具菜单的菜单项为[Database Desktop].[Image Editor].[Package Col ...

  8. 黑马程序员_Java集合Map

    Map Map概述: 接口Map<k,v> 类型参数: k-此映射所维护的键的类型 v-映射值的类型 Map集合:该集合存储键值对.一对一对往理存.而且要保证键的唯一性. 嵌套类摘要: s ...

  9. led驱动程序设计

    LED的驱动程序很简单,按照张字符型设备驱动设计方法顺下来即可实现,这里主要讲几个注意事项. 一.在linux系统中,操作硬件不能够使用物理地址,一定要用虚拟地址.将物理地址转化为虚拟地址的函数如下: ...

  10. Java[3] Java多线程相关资料

    Java多线程: http://www.uml.org.cn/j2ee/201509093.asp