10.6构造方法和析构方法
1、构造方法
A构造方法是对象创建完成后第一个被对象自动被调用的方法。
格式:function __construct(参数列表){
//方法体,通常用来对成员属性进行初始化赋值;}
重点:如果在创建对象时没有为构造方法传入参数,或只传入部分参数。着没有传入部分使用默认值。
B、添加此能输出汉字header(“content-type:text/html;charset=utf-8”);
C、“this”的一个用法:特殊对象的引用
t
h
i
s
就
是
在
对
象
内
部
的
成
员
方
法
中
,
代
表
本
对
象
(
即
p
e
r
s
o
n
1
引
用
带
有
t
h
i
s
的
成
员
方
法
,
仅
引
用
代
表
p
e
r
s
o
n
1
)
。
但
只
能
在
对
象
的
引
用
中
使
用
。
不
管
是
在
对
象
内
部
使
用
this就是在对象内部的成员方法中,代表本对象(即person1引用带有this的成员方法,仅引用代表person1)。但只能在对象的引用中使用。不管是在对象内部使用
this就是在对象内部的成员方法中,代表本对象(即person1引用带有this的成员方法,仅引用代表person1)。但只能在对象的引用中使用。不管是在对象内部使用this访问对象内部的成员还是在对象外部通过对象的引用名称访问对象的成员都要使用特殊符号“->”;
2、析构方法(在对象被销毁前最后一个被对象自动调用的方法)
输出结果:
再见张三
再见王五
再见李四
原因说明:在对象被销毁前最后一个被对象自动调用的方法。1、第一个对象的引用被赋予空值,所以第一个最先失去引用,不能在被访问,然后自动调用了析构函数。2、后面两个对象都是在页面执行结束时失去了引用,也自动调用了析构方法。但因为对象的引用都是存放在栈内存中的,由于栈的后进先出的特点,会先调用第3个对象的析构方法