为大家介绍一个php面向对象编程中静态变量的例子,有需要的朋友,可以参考下。
到于什么是php 面向对象的静态变量,在以前的php 教程中介绍的很多了,大家可以回顾一下。
来看今天的问题,有一群朋友在玩捉迷藏游戏,不时有新的小朋友加入,请问如何知道现在共有多少人在玩?请使用面向对象的思想,编写程序解决。
有二种方法可以解决这个问题:使用全局变量和静态变量。
name=$name;
}
//定义一个方法统计人数
public function allPlay(){
//先声明使用全局变量
global $global_nums;
$global_nums+=1;
echo $this->name."加入游戏. ";
}
}
$p1=new Child("lily");
$p1->allPlay();
$p2=new Child("lucy");
$p2->allPlay();
$p3=new Child("kucy");
$p3->allPlay();
echo $global_nums;
//by bbs.it-home.org
*/
//第二在类中 使用静态变量
class Child{
public $name;
//在类中声明静态变量
public static $allPlay=0;
public function __construct($name){
$this->name=$name;
}
//统计人数
public function addPlay(){
//在类中使用静态变量。在类中有下面2中方式访问静态变量
//self::$静态变量名和类名::$静态变量名
//self::$allPlay+=1;
Child::$allPlay+=1;
echo $this->name."加入游戏. ";
}
}
$p1=new Child("lily");
$p1->addPlay();
$p2=new Child("lucy");
$p2->addPlay();
$p3=new Child("kucy");
$p3->addPlay();
$p4=new Child("uucy");
$p4->addPlay();
//在类外只有一种方式访问静态变量:类名::$静态变量名
echo Child::$allPlay;
?> |