「4.10. サブタイプ化」の編集履歴(バックアップ)一覧はこちら
「4.10. サブタイプ化」(2012/09/10 (月) 17:27:58) の最新版変更点
追加された行は緑色になります。
削除された行は赤色になります。
*[[4. 型と値と変数]]
**[[4.1. 型と変数の種類]]
**[[4.2. プリミティブ型と値]]
**[[4.3. 参照型と値]]
**[[4.4. 型変数]]
**[[4.5. 引数付き型]]
**[[4.6. 型の抹消]]
**[[4.7. 具象可能型]]
**[[4.8. 未加工型]]
**[[4.9. 交差型]]
**[[4.10. サブタイプ化]]
サブタイプ(subtype)とスーパータイプ(supertype)の関係は型の2項関係です。
型の&i(){スーパータイプ(supertype)}は直接スーパータイプ関係を表す推移律と遷移律によって得られ、S >&sub(){1} Tと書きます。規則の意味は本節の後ほどで定義します。SとT間が持つスーパータイプ関係をS :> Tと表します。
SはTの&i(){適切なスーパータイプ(proper supertype)}である時、S > Tと書きます。ここで、S :> TかつS ≠ Tです。
型Tの&i(){サブタイプは}UのスーパータイプをTとすると全ての型Uとヌル型です。TとS間の持つサブタイプ関係をT <: Sと表します。
TはSの&i(){適切なサブタイプ(proper subtype)}である時、T < Sと書きます。ここで、T <: SかつS ≠ Tです。
TはSの&i(){直接サブタイプ(direct subtype)}である時、T <&sub(){1} Sと書きます、ここで、S >&sub(){1} Tです。
サブタイプ化は引数付き型の関係にまで拡張しません。T <: SはC<T> <: C<S>を意味しません。
***[[4.10.1. プリミティブ型間の型のサブタイプ化]]
***[[4.10.2. クラスやインタフェース型間の型のサブタイプ化]]
***[[4.10.3. 配列型間の型のサブタイプ化]]
**[[4.11. 型の使用箇所]]
**[[4.12. 変数]]
*[[4. 型と値と変数]]
**[[4.1. 型と変数の種類]]
**[[4.2. プリミティブ型と値]]
**[[4.3. 参照型と値]]
**[[4.4. 型変数]]
**[[4.5. 引数付き型]]
**[[4.6. 型の抹消]]
**[[4.7. 具象可能型]]
**[[4.8. 未加工型]]
**[[4.9. 交差型]]
**4.10. サブタイプ化
サブタイプ(subtype)とスーパータイプ(supertype)の関係は型の2項関係です。
型の&i(){スーパータイプ(supertype)}は直接スーパータイプ関係を表す推移律と遷移律によって得られ、S >&sub(){1} Tと書きます。規則の意味は本節の後ほどで定義します。SとT間が持つスーパータイプ関係をS :> Tと表します。
SはTの&i(){適切なスーパータイプ(proper supertype)}である時、S > Tと書きます。ここで、S :> TかつS ≠ Tです。
型Tの&i(){サブタイプは}UのスーパータイプをTとすると全ての型Uとヌル型です。TとS間の持つサブタイプ関係をT <: Sと表します。
TはSの&i(){適切なサブタイプ(proper subtype)}である時、T < Sと書きます。ここで、T <: SかつS ≠ Tです。
TはSの&i(){直接サブタイプ(direct subtype)}である時、T <&sub(){1} Sと書きます、ここで、S >&sub(){1} Tです。
サブタイプ化は引数付き型の関係にまで拡張しません。T <: SはC<T> <: C<S>を意味しません。
***[[4.10.1. プリミティブ型間の型のサブタイプ化]]
***[[4.10.2. クラスやインタフェース型間の型のサブタイプ化]]
***[[4.10.3. 配列型間の型のサブタイプ化]]
**[[4.11. 型の使用箇所]]
**[[4.12. 変数]]
表示オプション
横に並べて表示:
変化行の前後のみ表示: