【发布时间】:2010-10-22 23:13:18
【问题描述】:
基本上我有两个课程Inventory 和Character。在构建库存的过程中,我试图确定角色的性别,但这似乎根本不适合我...... 我之前没有真正使用过静态函数,所以如果有人可以指出我做错了什么,将不胜感激......
文件 1:
class Inventory
{
protected $user_gender;
public function __construct( $id = 0 )
{
$user_gender = Character::getGenderStatic();
}
}
文件 2:
class Character
{
protected static $gender;
public static function getGenderStatic() {
return self::$gender;
}
}
【问题讨论】:
-
对我来说看起来是正确的,不知道出了什么问题。有错误信息吗?
-
在首次使用之前,Character::$gender 是否已在某些静态代码中正确初始化?
-
作为一个后悔写了很多充满静态变量的类的人,不要这样做。静态使类更难扩展、测试和用作类型提示参数。