回答編集履歴
1
ビットフラグの例を追記しました。
answer
CHANGED
@@ -2,4 +2,10 @@
|
|
2
2
|
ざっくり分けると、次のように大別できるのではないでしょうか。
|
3
3
|
|
4
4
|
処理を丸ごと切り替えるような用途であればポリモーフィズム
|
5
|
-
オプションフラグ(複数のフラグの組合せ)のような用途であればビットフラグ
|
5
|
+
オプションフラグ(複数のフラグの組合せ)のような用途であればビットフラグ
|
6
|
+
|
7
|
+
<ビットプラグの例>
|
8
|
+
例えば System.Windows.Forms 名前空間に AnchorStyles という列挙体があります。
|
9
|
+
これはコントロールのアンカーの方向を意味する列挙体ですが、これはビットフラグになっています。
|
10
|
+
右上は Right | Top で表すことができます。
|
11
|
+
ビットフラグでない場合、「右上」も一つの列挙値として定義することになりますが、「右が指定されているかどうか」を判断するときには「右」または「右上」であるかのようなロジックが必要になります。このような複数の値の組合せを表現したい場合はビットフラグが適しています。
|