您的位置:首页 > 其它

面向对象之关键词(const, static)

2013-01-03 00:35 309 查看
Const关键词

是面向对象当中类里面常量定义的方式。

以Const 大写字母==值

类当中的常量一旦定义与php当中的常量一样,一旦定义不能呗修改。

注意:

1.不要使用$this->常量名去调用

2.也不是直接用常量名去调用

3.在类的内部调用方式(两种)

方式1.类名::常量名

方式2 self::常量名

4.在类的外部调用,不需要实例化对象,直接使用类名::常量名调用

例:

<?php
class  ren{

public $name;

//建议常量大写 为了更好的区分  变量跟常量
const TYPE='地球人';

function say(){
//类的内部调用常量
echo  '我是'.self::TYPE.'<br>';
}

}

//实例化对象
$p= new ren();

$p->say();

//类的外部调用常量
echo ren::TYPE;
?>

Static关键词:

1.静态成员方法和成员属性效率特别高,如果结果准许尽可能写成静态成员方法或者成员属性。

2.声明静态变量 以static关键词开始,后面加上变量。

3.静态变量不要用$this->静态成员属性名去调用

4.在类的内部调用静态成员两种方法,

第一种:使用类名::静态成员属性名;来调用静态成员属性

第二种:使用self::静态成员属性名

5.使用类名::静态成员属性名前面要加$符,如果要改值,直接在后面使用=赋值运算符进行赋值。

6.在类的外部访问不需要实例化,直接类名::静态成员属性去调用

7.声明静态的成员方法,只需要在方法名前加上static关键词即可

8.在类的外部调用静态成员方法 有两种;

(1)类名::静态方法名

(2)对象->静态方法名

9.在静态的成员方法禁止使用$this关键词调用成员属性跟成员方法,在静态的成员方法禁止有$this关键词。

10.在非静态成员方法内部使用$this->静态成员方法()去调用静态成员方法。

11.在非静态成员方法内部在类的内部使用类名::静态成员方法名()去调用静态成员方法。

12.在非静态成员方法内部self::静态成员方法名()去调用静态成员方法。

13.在静态方法内部不能使用$this->成员属性或成员方法,但是可以使用局部变量或者型参,静态成员属性,常量等等。

14.private protected,public和static关键词在一起使用的时候是累加效果。

例:

<?php
class  st {

static $num =10;

function  hi(){
/*使用类名调用
echo st::$num.'<br/>';*/

#使用self调用
#echo self::$num;

//直接赋值
// self::$num=50;
// echo self::$num;
}
}

$demo = new st;
$demo -> hi();

//在类的外部调用
echo  st::$num;
?>


本文出自 “Sanr” 博客,请务必保留此出处http://0x007.blog.51cto.com/6330498/1106505
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: