1

最近、ivarフィールドとstaticフィールドのどちらかを選択する途中で立ち往生しています。例:信号機を赤と緑の間で切り替える必要があります。そこで、isRedというフラグを付けました。これまでこの目的で静的ブール値を使用してきましたが、非常にうまく機能しています。今、私はこれにインスタンス変数を使用することもできると思いますが、それらの違いはわかりません。これら2つの方法の本当の違いは何ですか?

4

1 に答える 1

3

アプリケーションに信号機が 1 つだけある (そしてこれからも) あることがわかっている場合は、静的ストレージ期間 (静的フィールドと呼ばれるもの) を持つ変数を使用できます。

ほとんどの場合、状態を制御するクラスに状態を入れること、つまり ivar を使用することが望ましいです。このアプローチは「オブジェクト指向設計」と呼ばれます。

于 2012-10-22T17:58:17.653 に答える