Php中的静态变量和静态方法

来源:互联网 发布:c语言简单游戏程序代码 编辑:程序博客网 时间:2024/06/05 11:46
PHP静态变量
静态变量(也叫类变量)

静态的变量的基本用法
1.在类中定义静态变量形式:
[访问修饰符] static $变量名;
例; //public static $nums=0;
2.如何访问静态变量
如果在类中访问 有两种方法 self::$静态变量名 , 类名::$静态变量名
如果在类外访问: 有一种方法 类名::$静态变量名

例程:
提出一个问题:
说,有一群小孩在玩堆雪人,不时有新的小孩加入,
请问如何知道现在共有多少人在玩?请使用面向

对象的思想,编写程序解决:

class Play{public $name;public static $num=0;public static $i=0;public function __construct($name){$this->name=$name;}public function join_game(){self::$num++;self::$i++;echo $this->name."加入游戏".'是第'.Play::$i."个加入的"."<br/>";}}$chi1=new Play('dck1');$chi2=new Play('dck2');$chi3=new Play('dck3');$chi1->join_game();$chi2->join_game();$chi3->join_game();echo '一共有'.Play::$num."小孩在玩游戏";
静态方法(又叫类方法)
其形式如下:
[访问修饰符] static function 方法名(){}
例; //public static function enter_school($ifree){}
需求: 当我们操作静态变量的时候,我们可以考虑使用静态方法,比如统计所有学生交的学费
在我们编程中,我们往往使用静态方法去操作静态变量.
使用静态方法不需要创建对象,可以直接访问该静态方法
2.如何访问静态方法:
如果在类中访问 有两种方法 self::静态方法名 , 类名::静态方法名
如果在类外访问: 有两种方法 类名::静态方法名 , 对象名->类方法名
静态方法的特点
1.静态方法只能操作静态变量
2.静态方法不能操作非静态变量.
这里请注意 : 普通的成员方法,既可以操作非静态变量,也可以操作静态变量 */

class School{public $name;public static $free=0;public function __construct($name){$this->name=$name;}public static function enter_school($free){self::$free+=$free;}public static function getFree(){return self::$free;}}$bo=new School('cqq');$bo1=new School('cqq1');$bo2=new School('cqq2');$bo->enter_school(1000);$bo1->enter_school(2000);$bo2->enter_school(10000);$total=School::$free;echo "学生一共缴纳学费:".$total;



原创粉丝点击