有界量化
编辑在类型理论中,有界量化(也是有界多态性或有界泛型)指的是普遍的或存在的量词,这些量词被限制(有界)在一个特定类型的子类型上范围。
有界量化是参数化多态性与子类型化的交互。
传统上,有界量化是在SystemF<:的函数式环境中研究的,但在现代面向对象语言中也有支持参数多态性(泛型)的语言,如Java、C#和Scala。
有界量化的概述
编辑有界量化的目的是允许多态函数依赖于对象的一些特定行为,而不是类型继承。它为对象类假设了一个基于记录的模型,每个类成员都是一个记录元素,所有类成员都是命名的函数。
对象属性被表示为没有参数的函数,并返回一个对象。具体的行为是一些函数名称,以及参数的类型和返回类型。
边界量化允许考虑所有具有这样一个函数的对象。一个例子是一个多态的min函数,它考虑的是所有可以相互比较的对象。
F-boundedquantificationF-boundedquantification或递归boundedquantification,于1989年引入,允许对应用于递归类型的函数进行更精确的类型化。
递归类型是包括一个将其作为某些参数或其返回值的类型的函数。
有界量化的例子
编辑这种类型约束可以在Java中用一个通用接口来表达。下面的例子演示了如何描述可以相互比较的类型,并将其作为多态函数中的类型信息。
Test.min函数使用了简单的有界量化,并且不保留分配类型的类型,与Test.Fmin函数相比,后者使用了F有界量化。
内容由匿名用户提供,本内容不代表vibaike.com立场,内容投诉举报请联系vibaike.com客服。如若转载,请注明出处:https://vibaike.com/170686/