background image

一:结构和调用

(实例化):

class

 className{} ,调用:

$obj

 = 

new

 className();当类有构造函数时,还应传入参数。如

$obj

 = 

new

 className(

$v

,

$v2

…);

二:构造函数和析构函数:
1、构造函数用于初始化:使用__construct(),可带参数。
2、但析构函数不能带参数(用于在销去一个类之前执行一些操作或功能)。析构函数用
__destruct()做名称。在脚本执行结束时,会销掉内存中的对象,因此可不用析造函数,但有
些比如

COOKIE 等,就应当要用此函数销掉。

知识点:在

PHP4 中也提供了构造函数,但使用的是与类同名的类方法,在 PHP5 仍能兼容

这种做法,当一个类中没有包含

__construct 时,会查找与类同名的方法,如果找到,就认

为是构造函数,如下:
代码如下

:

 

class

 test

var

 

$b

;

function

 test() { 

$this

->b=5; }

function

 addab(

$c

) { 

return

 

$this

->b+

$c

; }

}

$a

 = 

new

 test(); 

echo

 

$a

->addab(4); 

// 返回 9

 
3、PHP 不会自动调用父类的构造函数(不支持构造函数重载),必须使用 parent 关键字显式
地调用。
代码如下

:

 

class

 employee{

function

 __construct()….

}

class

 Manager extents Employee{

function

 __construct(){

parent::_construct();

echo

 ‘这个子类的父类构造函数调用了!';

}
}
 
当然也可以调用与该实例没有任何关系的其它类的构造函数。只需在

__construct()前加上类

名即可。如:
otherClassName::__construct();
类的主家庭成员:属性、方法、常量、静态成员
三、类的属性:
有两种方法对类的属性赋值或取值。
1、使用公共作用域

public

关键词。

2、使用__set()和__get()来分别赋值和取值,前者称为设置方法(setter)或修改方法
(mutator),后者称为访问方法(accessor)或获取方法(getter)。建议使用这种方法:优点:
A、可在__set()统一进行数据验证。