第12讲类_构造方法(初始化)__construct_this_析构方法__destruct

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

构造方法1.没有返回值2.在创建一个类的新对象时,系统会自动的调用该类的构造方法完成对该新对象的初始化。3.写法①php4classCat{修饰符functionCat(参数列表){//初始化操作}}②php5(php5兼容php4写法)classCat{修饰符function__construct(参数列表){//初始化操作}}③在php5中,一个类可以同时有2种形式的构造方法,__construct()和类名();优先选择__construct().this1.系统会给每个对象分配this,代表当前对象.本质上也可理解为代表当前对象的地址。$this-属性名;2.对于不同对象,this是变化的;哪个对象有this,就代表哪个对象。3.this只能在类定义里面用,不能在类定义外面用。案例?phpclassperson{public$name;public$age;publicfunction__construct($iname,$iage){echo这是构造方法,自动输出br/;$this-name=$iname;$this-age=$age;}}$p1=newperson(宋江,33);//实例化的同时初始化了对象。echo$p1-name;?重要:__construct是系统内置的,叫魔术方法,每次实例化类是会自动执行此方法。还有就是调用类的成员变量不需要在变量前面加$比如:$this-school_name=$name;正确默认构造方法1.一个类只能有一个构造方法。(不能重载)2.如果用户没有定义构造方法,系统会自动产生默认构造方法;如果有了子定义构造方法,默认方法会被覆盖。3.默认的构造方法person(){}小结析构方法1.function__destruct(){//释放资源操作}2.案例?phpclassperson{public$name;public$age;function__construct($name,$age){$this-name=$name;$this-age=$age;}function__destruct(){echo$this-name.资源被销毁br/;}}$p1=newperson(小明,12);//if$p1=null;$p1会被先被销毁$p2=newperson(小刚,12);?结论①在php5中才有析构方法function__destruct(){}.②析构方法会自动调用,前提是写入了析构方法。③析构方法没有返回值的。④一个类最多只有一个析构方法。⑤析构方法主要用于释放资源(释放内存);不是销毁对象本身。⑥析构方法调用的顺序是,先创建的对象后被销毁。⑦析构函数什么时候会被调用当程序退出时;当一个对象成为垃圾对象的时候,该对象的析构方法也会被调用(所谓垃圾对象,就是没有任何变量在引用它)(一旦一个对象成为垃圾,析构函数就会立刻调用)

1 / 3
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功