subtyping:子类型关系;指在类型系统中,一个类型(子类型)可以在需要另一个类型(父类型/超类型)的地方安全替代使用的规则与机制(常见于编程语言与形式化语义中)。在不同语境下也可能泛指“对事物进行进一步分型/细分分类”。
/ˈsʌbˌtaɪpɪŋ/
Subtyping lets a Dog be used where an Animal is expected.
子类型关系使得在需要 Animal 的地方可以使用 Dog。
In many object-oriented languages, subtyping interacts with generics and variance, which can make type checking surprisingly subtle.
在许多面向对象语言中,子类型关系会与泛型和型变相互作用,从而使类型检查变得出人意料地微妙复杂。
由 sub-(“下、次级”)+ type(“类型”)+ -ing(名词化/动名词后缀)构成,字面义为“进行子类型化/子类型关系”。该术语在计算机科学的类型系统讨论中被广泛使用,用来描述“可替换性”的类型规则。