|
|
[ トップページ ]
[ ____CommandPrompt ] [ ____JScript ] [ ____MySQL ] [ ____Cygwin ] [ ____Java ] [ ____Emacs ] [ ____Make ] [ ____Perl ] [ ____Python ] [ ____OpenGL ] [ ____C# ] [ ____StyleSheet ] [ ____C++ ] [ ____Winsock ] [ ____Thread ] [ ____VisualStudio ] [ ____C ] [ ____Win32API ] [ ____Lua ] [ ____PhotoShop ] ヘッダ検索 ■ ボクシング.boxing
POINT
値型を object に wrap して格納する機能のこと。
まとめ
また、この2つはC++にもない機能であり、既存のプログラム言語の利用者は戸惑うかもしれない。
便利な機能を使いこなすには、それらを正しく理解することが欠かせない。
複数のデータを一括して扱う処理を記述する場合に、
どのようなデータでも収納できる便利な機能を記述できるとプログラムがすっきりする。
だが、実用言語で、これを達成したものは多くはない。
例えばJavaでは、数値型はクラスではないため
任意のクラスのインスタンスを扱う入れ物となるクラスを設計しても、
そのままでは数値を格納できない。
そのため、数値を格納するラッパ・クラス(wrapper class)のインスタンスに一度数値を入れてから
それを格納する必要がある。
Visual Basic 6.0のVariant型は何でも格納できるのだが、
その代わり
値を入れるときは普通の代入
参照を代入する場合はsetステートメントと使い分ける必要がある。
POINT
これに対して、C#は、すべてのクラスのスーパー・クラスを辿っていくと、
最後にたどり着くobject型に、すべてのデータの参照を格納できる。
ちなみに、object は System.Object の別名。
実際に
整数、実数、文字列、Structs、クラスの5種類の情報を1個のobject型の配列に代入できる。
|
|






