akios @ ウィキ
4.10. サブタイプ化
最終更新:
akios
-
view
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です。
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>を意味しません。