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

本文介绍了PHP中静态变量和静态方法的基本概念及用法,通过实例演示了如何使用静态特性来跟踪对象数量和累加数值。同时展示了静态方法如何与静态变量配合使用。
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;



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值