有界量化

编辑
本词条由“匿名用户” 建档。

在类型理论中,有界量化(也是有界多态性或有界泛型)指的是普遍的或存在的量词,这些量词被限制(有界)在一个特定类型的子类型上范围。 有界量化是参数化多态性与子类型化的交互。 传统上,有界量化是在SystemF<:的函数式环境中研究的,但在现代面向对象语言中也有支持参数多态性(泛型)的语言,如Java、C#和Scala。 有界量化的目的是允许多态函数依赖于对象的一些特定行为,而不是类型继承。它为...

有界量化

编辑

类型理论中,有界量化(也是有界多态性或有界泛型)指的是普遍的或存在的量词,这些量词被限制(有界)在一个特定类型的子类型上范围。

有界量化是参数化多态性与子类型化的交互。

传统上,有界量化是在SystemF<:的函数式环境中研究的,但在现代面向对象语言中也有支持参数多态性(泛型)的语言,如Java、C#和Scala。

有界量化的概述

编辑

有界量化的目的是允许多态函数依赖于对象的一些特定行为,而不是类型继承。它为对象类假设了一个基于记录的模型,每个类成员都是一个记录元素,所有类成员都是命名的函数。

对象属性被表示为没有参数的函数,并返回一个对象。具体的行为是一些函数名称,以及参数的类型和返回类型。

边界量化允许考虑所有具有这样一个函数的对象。一个例子是一个多态的min函数,它考虑的是所有可以相互比较的对象。

F-boundedquantificationF-boundedquantification或递归boundedquantification,于1989年引入,允许对应用于递归类型的函数进行更精确的类型化。

递归类型是包括一个将其作为某些参数或其返回值的类型的函数。

有界函数

有界量化的例子

编辑

种类型约束可以在Java中用一个通用接口来表达。下面的例子演示了如何描述可以相互比较的类型,并将其作为多态函数中的类型信息。

Test.min函数使用了简单的有界量化,并且不保留分配类型的类型,与Test.Fmin函数相比,后者使用了F有界量化。

内容由匿名用户提供,本内容不代表vibaike.com立场,内容投诉举报请联系vibaike.com客服。如若转载,请注明出处:https://vibaike.com/170686/

(3)
词条目录
  1. 有界量化
  2. 有界量化的概述
  3. 有界量化的例子

轻触这里

关闭目录

目录