<?php
//在前面内容中,类被当做模板,对象被被当作活动组件,面向对象编程中的操作都是通过类的的实例(对象)来完成的。事实上,并不是所有的变量(方法)都需要通过创建对象来调用。声明类属性或者方法为static(静态),就可以不实例化类而直接访问。调用静态成员:
//关键字::静态变量;
//self::在类内部调用静态成员时使用。
//静态成员所在类名,在类外部调用类内部的静态成员的使用。
//使用静态成员,除了不需要实例化,对象的还有一个好处。就是在对象被销毁后,依然保存被求改的静态数据,以便下次使用。
class Note{//Note类
static $n=1;//声明一个静态变量$n, 初始值为1;
public function showMe(){//申明一个方法
echo '我们一共有'.self::$n.'个人!';//输出静态变量
self::$n++; 输出静态变量加1;
}
}
$Note1=new Note(); //实例化类
$Note1->showMe(); //调用showMe()方法
echo "<br>";
$Note2=new Note();
$Note2->showMe();
echo "<br>";
echo '我们一个有'.Note::$n.'个人';//直接使用类名调用静态变量
//静态属性不能通过一个类已实例化的对象来访问,但静态方法可以。由于静态方法不需要通过对象即可调用,所以伪变量$this在静态方法中不可调用。静态属性不可以由对象通过->操纵符来访问。
01-10
950
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
12-08
635
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交