例子:往一个水杯中不断倒水,如何知道现在水杯中有多少水?
杯子 --> 类(class)
水 --> 类的属性
倒水 --> 类的一个方法
解决这个问题有2中方法:使用全局变量和静态变量
全局变量:
<?php
global $allWater; //全局变量
$allWater = 0 ; //初始化全局变量(水杯中开始没有水)
class Cup{
private $water;
public function pourWater($water)
{
global $allWater;
$allWater += $water;
echo "现在杯子中总共有:".$allWater."毫升的水\n";
}
}
$cup = new Cup();
$cup->pourWater('100'); //往杯子中倒入100毫升水
$cup->pourWater('200'); //往杯子中倒入200毫升水
$cup->pourWater('300'); //往杯子中倒入300毫升水
?>
静态变量:
<?php
class Cup{
private static $allWater = 0; //初始化静态变量(水杯中开始没有水)
public function pourWater($water)
{
//2种访问静态变量的方式
self::$allWater += $water;
//Cup::$allWater += $water;
echo "现在杯子中总共有:".self::$allWater."毫升的水\n";
}
}
$cup = new Cup();
$cup->pourWater('100'); //往杯子中倒入100毫升水
$cup->pourWater('200'); //往杯子中倒入200毫升水
$cup->pourWater('300'); //往杯子中倒入300毫升水
?>