首页 . 理学 . 计算机科学技术 . 计算机科学理论 . 程序设计理论 . 类型理论

结构化类型系统

/structural type system/
条目作者吴志林

吴志林

最后更新 2024-12-03
浏览 139
最后更新 2024-12-03
浏览 139
0 意见反馈 条目引用

一种两个类型相等当且仅当它们的结构相同的类型系统。与名义类型系统(nominal type system)相对应。

英文名称
structural type system
所属学科
计算机科学技术

在结构化类型系统中,两个类型相等当且仅当它们的结构相同,而在名义类型系统中,两个类型相等当且仅当它们的名字一样。比如两个类(class),都含有一个名为num的整数变量作为属性,而且没有任何成员函数,则在结构化类型系统中,这两个类可以视为同一类型,但在名义类型系统中,这两个类名字不一样,是不同的类型。

一般认为结构化类型系统与名义类型系统相比,前者更加灵活,而后者则能够更好地保证类型安全。采用结构化类型系统的编程语言包括OCaml、Haskell、Elm等函数式编程语言。采用名义类型系统的编程语言包括C++、Java、Swift等面向对象的语言。另外还有一些编程语言采用混合类型系统,比如Flow语言将对象和函数视为结构化类型,而将类当作名义类型。

相关条目

阅读历史

    意见反馈

    提 交

    感谢您的反馈

    我们会尽快处理您的反馈!
    您可以进入个人中心的反馈栏目查看反馈详情。
    谢谢!