对不起,不能将此标记为正确的标题。 我想知道静态字段与参数之间的好处是什么,在它到达目的地之前一直持续传递。
示例:
Xna在他们的框架中使用GameTime,并在更新函数
中传递给子函数protected override void Update(GameTime gameTime)
{
base.Update(gameTime);
world.Update(gameTime);
}
//in World class
public void Update(GameTime gametime)
{
//draw all game objects
for (int i = 0; i < entities.Count; i++)
{
entities[i].Update(gametime);
}
}
这样做有什么好处,而不是在某处保留一个静态变量游戏时间,在其他任何东西之前在根类中更新它,并从子类中访问该静态变量。
我总是看到在库中使用的参数传递。但是在某处静止它似乎更“方便”。
答案 0 :(得分:0)
此静态字段与类的所有实例共享。静态和可变性提供危险的混合物,除非它被仔细控制。你不希望任何人伸出手触摸那个领域,除非所有实例都需要改变是必要的。
答案 1 :(得分:0)
注入参数时,可以更轻松地测试您的方法。例如,你可以有一个假的GameTime对象,你可以传入它以模拟它的行为。