ジェネリックスの用語

提供: RAD Studio
移動先: 案内検索

ジェネリックス:インデックス への移動


このセクションでは、ジェネリックスの説明に使用される用語を定義します。

ジェネリックの型

実際の型を作成するために型パラメータの指定が必要な型宣言
次の例で、List<Item> は、ジェネリック型(または ジェネリック)です:

type
  List<Item> = class
  ...
  end;

ジェネリック

ジェネリック型と同じです。

型パラメータ

ジェネリックの宣言やメソッド本体の内部で別の宣言の型として使用するために、ジェネリックの宣言やメソッド ヘッダーで宣言されるパラメータ。 これは、実際の型引数にバインドされます。以下のコードでは、Item が型パラメータです:

type
  List<Item> = class
  ...
  end;

型引数
AND
型識別子型

インスタンス化された型を作成するために型識別子と共に使用される特殊型。上記の例を使用すると、List<Integer> がインスタンス化された型(またはインスタンス化されたジェネリック)、List が型識別子、そして Integer が型引数になります。

インスタンス化型

ジェネリックと一連のパラメータが組み合わさったもの。

生成型

インスタンス化型と同じ。

閉じた生成型

パラメータがすべて実際の型に解決された生成型。 List<Integer> は、Integer が実際の型であるため閉じています。

開いた生成型

少なくとも 1 つのパラメータが型パラメータである生成型。 T がそれ自身を含んでいるクラスの型パラメータである場合、List<T> は開いた生成型です。

インスタンス化

コンパイラは、ジェネリックに定義されているメソッドの実際の命令コードを生成するほか、閉じた生成型の実際の仮想メソッド テーブルを生成します。 このプロセスは、Win32 の場合、Delphi コンパイル済みユニット ファイル(.dcu)またはオブジェクト ファイル(.obj)を出力する前に必要になります。

関連項目