有界量化
編輯在類型理論中,有界量化(也是有界多態性或有界泛型)指的是普遍的或存在的量詞,這些量詞被限制(有界)在一個特定類型的子類型上范圍。有界量化是參數化多態性與子類型化的交互。傳統上,有界量化是在SystemF<:的函數式環境中研究的,但在現代面向對象語言中也有支持參數多態性(泛型)的語言,如Java、C#和Scala。
有界量化的概述
編輯有界量化的目的是允許多態函數依賴于對象的一些特定行為,而不是類型繼承。它為對象類假設了一個基于記錄的模型,每個類成員都是一個記錄元素,所有類成員都是命名的函數。對象屬性被表示為沒有參數的函數,并返回一個對象。具體的行為是一些函數名稱,以及參數的類型和返回類型。邊界量化允許考慮所有具有這樣一個函數的對象。一個例子是一個多態的min函數,它考慮的是所有可以相互比較的對象。F-boundedquantificationF-boundedquantification或遞歸boundedquantification,于1989年引入,允許對應用于遞歸類型的函數進行更精確的類型化。遞歸類型是包括一個將其作為某些參數或其返回值的類型的函數。
有界量化的例子
編輯這種類型約束可以在Java中用一個通用接口來表達。下面的例子演示了如何描述可以相互比較的類型,并將其作為多態函數中的類型信息。Test.min函數使用了簡單的有界量化,并且不保留分配類型的類型,與Test.Fmin函數相比,后者使用了F有界量化。
內容由匿名用戶提供,本內容不代表www.gelinmeiz.com立場,內容投訴舉報請聯系www.gelinmeiz.com客服。如若轉載,請注明出處:http://www.gelinmeiz.com/170686/