青风百里

PHP 堆雪人游戏(静态变量的学习)(二次学习)
一.静态变量静态变量也叫做类变量堆雪人游戏,每一次有新的小孩加入游戏,最后有共有多少个小孩加入了游戏,用面向对象的...
扫描右侧二维码阅读全文
08
2018/09

PHP 堆雪人游戏(静态变量的学习)(二次学习)

一.静态变量

  • 静态变量也叫做类变量
  • 堆雪人游戏,每一次有新的小孩加入游戏,最后有共有多少个小孩加入了游戏,用面向对象的思想解决该问题.
<?php
class Child{
    public $name;
    public static $nums;

    public function __construct($name){
        $this->name = $name;
    }

    public function joinGame(){
        self::$nums+=1;
        echo $this->name."加入了游戏<br>";
    }
}

$c1 = new Child("张三");
$c1->joinGame();
$c2 = new Child("李四");
$c2->joinGame();
$c3 = new Child("王二");
$c3->joinGame();

echo "共有".Child::$nums."个小孩参加了游戏";

  • 接下来看一下内存图
  • 上图中,在堆区里,每个对象的0x121都指向了全局区

什么时候使用静态变量
当一个变量需要被所有对象所共享的时候

Last modification:September 16th, 2018 at 02:56 pm

Leave a Comment