ジェネリックスの用語

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

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

ジェネリックスの説明に使用される用語

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

ジェネリックの型

実際の型を作成するために型パラメータの指定が必要な型宣言

以下のコードで List<Item>ジェネリックの型(またはジェネリック)です。

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

ジェネリック

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

型パラメータ

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

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

型引数
および
型識別子

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

インスタンス化された型

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

生成型

インスタンス化された型と同じです。

閉じた生成型

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

開いた生成型

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

インスタンス化

コンパイラは、ジェネリックスに定義されているメソッドの実際の命令コードを生成するほか、閉じた生成型の実際の仮想メソッド テーブルを生成します。

このプロセスは、Win32 の場合、Delphi コンパイル済みユニット ファイル(.dcu)またはオブジェクト ファイル(.obj)を出力する前に必要になります。

関連項目