1

我最近陷入了在 ivar 和静态字段之间进行选择的过程中。例如:我需要在红绿灯之间切换。所以我放了一个名为 isRed 的标志。到目前为止,我已经为此目的使用了一个静态布尔值,它的效果很好。现在我想我也可以为此使用实例变量,但我不知道它们之间的区别。这两种方式之间的真正区别是什么?

4

1 回答 1

3

当您知道应用程序中只有一个红绿灯(并且永远会有)时,您可以使用具有静态存储持续时间的变量(您称之为静态字段)。

在几乎所有情况下,最好将状态放入控制状态的类中——即使用 ivar。这种方法称为“面向对象设计”。

于 2012-10-22T17:58:17.653 回答