×

参数类型的基于方差的子类型。 (英语) 兹比尔1049.68791

Magnusson,Boris(编辑),ECOOP 2002-面向对象编程。第十六届欧洲会议,2002年6月10日至14日,西班牙马拉加。诉讼程序。柏林:施普林格出版社(ISBN 3-540-43759-2)。莱克特。注释计算。科学。2374, 441-469 (2002).
总结:我们受Thorup和Torgersen的结构虚拟类型启发,开发了可变参数类型的机制,以增强面向对象语言中参数多态性和包容性多态性之间的协同作用。变量参数类型用于控制一个泛型类的不同实例化之间的子类型及其字段和方法的可见性。一方面,一个参数类可以用作协变、逆变或双变量,方法是在类型参数上附加一个方差注释,该注释可以是\(+)、\(-)或\(star\)。另一方面,类型系统禁止通过变量参数类型访问某些方法/字段,而这些访问可能会使程序不安全。通过利用各种参数类型,程序员可以安全地编写通用代码抽象,用于处理各种参数类型。例如,只读取字符串容器元素的方法可以很容易地修改,以便它可以接受任何子类型的字符串容器。
通过使用不同的参数类型扩展Featherweight GJ(一种现有的Java泛型核心演算)来研究理论问题。通过利用与有界存在类型的直观联系,我们为扩展微积分开发了一个健全的类型系统。
关于整个系列,请参见[兹比尔0997.68676].

MSC公司:

68单位99 计算方法和应用
68甲19 其他编程范式(面向对象、顺序、并发、自动等)
68甲15 编程语言理论
PDF格式BibTeX公司 XML格式引用
全文: 链接