PHP面向对象构造方法与析构方法
技术支持服务电话:15308000360 【7x24提供运维服务,解决各类系统/软硬件疑难技术问题】
1,对象中成员的访问(就是在一个对象的内部方法中,去访问本对象中的其它方法和成员属性)
2,在对象中的方法中都有一个默认的$this关键字,这个关键字代表调用这个方法的对象
3,第一人称代词:我
构造方法,构造器
1,是对象创建完成之后,’第一个”自动调用’的方法
2,构造方法的定义,方法名是一个固定的和类名相同
在PHP5中,构造方法选择使用魔术方法__construct(),所有类中声明构造方法都使用这个名称
优点:在改变类名时,构造方法不用改变
作用:就是为成员属性初始化
魔术方法:
在类中写出了某个魔术方法,这个方法对象的功能就会添加上,方法名称都是固定的,没有自己定义的。每一个魔术方法,都是在不同时刻为了完成某一功能自动调用的方法,不同的魔术方法有不同调用时机,这些方法名都是以”__”开头的方法:
- __construct();
- __destruct();
- __set();
- __get();
- __isset();
- __unset();
- __clone();
- __call();
- __sleep();
- __weakup();
- __toString();
- __autoload();
析构方法:
__destruct();当对象被释放之前最后一个自动调用的方法。作用就是关闭一些资源,作一些清理的工作。也就是完成垃圾回收的功能。
关于构造方法以及析构方法的实例写一个吧,用的都是魔术方法:
eg:
class Person{ var $name; var $age; var $sex; function __construct($name="",$age=20,$sex="male"){ $this->name=$name; $this->age=$age; $this->sex=$sex; } function say(){ echo "我的名字是:".$this->name.",年龄是:".$this->age.",性别是:".$this->sex.'<br>'; } function __destruct(){ echo $this->name.",再见"."<br>"; } } $p1=new Person("rayhooo",26,"male"); $p2=new Person("pretty",24,"female"); $p3=new Person("insect",24,"female"); $p1->say(); $p1=null; $p2->say(); $p3->say();