加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

oop – 泛型和约束多态性与子类型

发布时间:2020-12-16 09:38:26 所属栏目:安全 来源:网络整理
导读:在这个 PDF presentation的Haskell类型课程中,幻灯片#54有这个问题: Open Question : In a language with generics and constrained polymorphism,do you need subtyping too? 我的问题是: 泛型和约束多态性如何使子类型不必要? 如果泛型和约束多态使子
在这个 PDF presentation的Haskell类型课程中,幻灯片#54有这个问题:

Open Question:

In a language with generics and
constrained polymorphism,do you need
subtyping too?

我的问题是:

>泛型和约束多态性如何使子类型不必要?
>如果泛型和约束多态使子类型不必要,为什么Scala有子类型?

解决方法

How do generics and constrained polymorphism make subtyping unnecessary?

他们不知道。如果你把幻灯片放在上下文中,我认为说话者试图做的论点是这样的:

在过去,子类型提供了一种重要的多态性。
>而且在过去,在另一个国家,类型抽象和类型参数提供了一种重要的多态性。这种在其本土被称为参数多态性,但在国外被称为泛型。
>现代泛型承认约束,有时称为“有界多态”,可以实现与子类型多态相似的许多相同的东西。
> Subtyping带有大量的行李 – 特别是你必须担心协方差和逆向。语言有不舒服的限制,重量级的符号,有时是彻底的安全违规(例如,埃菲尔)。

公开的问题:也许约束参数多态解决了足够的同样的问题,在快乐的未来,我们可以完全摆脱子类型多态性,并且伴随着这个讨厌的问题,即子类型是共变的,逆向的和不变的。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读