星际争霸允许玩家作弊,当然这是在人和电脑对战的时候。而且作弊有个特点,比如快速建造,能量无限是对所有的玩家(包括电脑)都生效,如果关闭了作弊,对所有的玩家的作用都同时消失。
这也就是说如果我们把作弊状态作为一个类,他只能有一个对象。
待解决的问题:确保某个类只能有一个对象。
思路:把对外新建对象的权利都收回,包括new,clone。为了防止通过子类来覆盖父类的方法和成员,将类设置为final。用static成员来保存唯一的对象
单件模式示例:
立即学习“PHP免费学习笔记(深入)”;
fastBuild = !$this->fastBuild ;
}
}
//读取快速建造的生效状态的方法,用public为了能够公开调用
public function getStatus()
{
return $this->fastBuild ;
}
//获取唯一对象的唯一方法
public function getInstance()
{
//如果对象没有被新建,则新建它
if(!isset(self::$instance))
{
self::$instance = new cheat() ;
}
return self::$instance ;
}
//用private来禁止在本类以外new对象
private function











