background image

四、类的方法:
理解成类当中的函数即可。
调用:
1、内部调用:可使用

$this

->Fanname();或

$this

->addab()或 test::addab();

2、实例化调用时,用

$e

->addab();即可。对于在该方法中没有使用

$this

关键字的,如上例中

的:

function

 addab() { 

return

 

$this

->a+

$this

->b; }

改为:

 

function

 addab() { 

return

 25; }那在在外部实例调用该方法,也可用“

$e

::addab();”或

“test::addab();”
五、类的常量:
如果类的属性理解成类中的变量,那么类的常量和变量是不一样的,其定义方法为:
代码如下

:

 

class

 test{

private

 

$a

;

const

 PI = '3.14′;

…..

//在类中调用上面的常量用两种方法,“$this::PI”,或 “类名::PI”,这里就是 test::PI,如下:
function

 getvalue(){

return

 

$this

->a * 

$this

::PI; 

//或$this->a * test::PI,用 this 关键字或类名均可,但都要用双冒号。

}
}

$e

new

 test();

$e

->PI =5; 

//注意,这里用 ->只是创造了一个也是名为 PI 的属性,而不是改变类中的 PI 常

量的值。

echo

 

$e

::PI; 

//这个才是调用类的常量。

 
常量只能用双冒号

::来调用。并且不能更改其值。

在类外部实例化后调用类常量同样也有两种方法。方法为:

$e

::PI” 或 “test::PI”,共同点是都要用冒号,不同点是外部不能用 this 关键字,只能用实例

名,但类名

::PI 是通用的。

六、类的静态成员(静态属性或静态方法):
如果需要创建供所有类的实例共享的字段或方法。就得用静态成员。有两个特征:
1、静态成员是共产主义者,它让脚本上的所有该类的实例调用,但不能借助类的特定实例
名调用,而是在类的外部,统一使用

“类名::$成员名”的方式调用。而类的内部则统一使用

 

“self::$成员名”来调用。
2、当每一次新创建实例时,静态成员会从上次创建的实例最后值开始重新计算,而不是类
中初始的值开始计算。
3、对于用

public

定义的静态成员,可以在外部更改它的值。

private

等则不行。

代码如下

:

 

class

 test{

public

 

static

 

$v

 = 0;

function

 __construct(){ self::

$v

++; }