※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

4. 型と値と変数

4.1. 型と変数の種類

4.2. プリミティブ型と値

4.3. 参照型と値

4.4. 型変数

4.5. 引数付き型

4.6. 型の抹消

4.7. 具象可能型

4.8. 未加工型

4.9. 交差型

4.10. サブタイプ化

サブタイプ(subtype)とスーパータイプ(supertype)の関係は型の2項関係です。

型のスーパータイプ(supertype)は直接スーパータイプ関係を表す推移律と遷移律によって得られ、S > 1 Tと書きます。規則の意味は本節の後ほどで定義します。SとT間が持つスーパータイプ関係をS :> Tと表します。
SはTの適切なスーパータイプ(proper supertype)である時、S > Tと書きます。ここで、S :> TかつS ≠ Tです。

型TのサブタイプはUのスーパータイプをTとすると全ての型Uとヌル型です。TとS間の持つサブタイプ関係をT <: Sと表します。

TはSの適切なサブタイプ(proper subtype)である時、T < Sと書きます。ここで、T <: SかつS ≠ Tです。

TはSの直接サブタイプ(direct subtype)である時、T < 1 Sと書きます、ここで、S > 1 Tです。

サブタイプ化は引数付き型の関係にまで拡張しません。T <: SはC<T> <: C<S>を意味しません。

4.10.1. プリミティブ型間の型のサブタイプ化

4.10.2. クラスやインタフェース型間の型のサブタイプ化

4.10.3. 配列型間の型のサブタイプ化

4.11. 型の使用箇所

4.12. 変数