为了账号安全,请及时绑定邮箱和手机立即绑定

是否有一种语言在变量声明时支持隐式复合类型?

是否有一种语言在变量声明时支持隐式复合类型?

阿波罗的战车 2021-12-10 16:52:55
这个问题更笼统,并扩展到类型化的非 OOP 语言,但只是为了让代码证明我的意图,我将坚持使用标准的花括号语言,如 C#。我见过的 OOP 语言支持两种复合接口interface ISyntaxNode : ISyntax, INode {}ISyntaxNode node;// Do stuff with node还有一些复合类的概念class SyntaxNode {    // Members are public/private/partially exposed/whatever    ISyntax code;    INode node;}SyntaxNode node;// Do stuff with node但是在这两种情况下,都需要在使用之前明确定义复合类型以及它的行为方式。是否有任何语言支持某种隐式复合类型的概念?例如ISyntax INode node;这在具有隐式接口概念的语言中会更有用/更灵活,以便您以后可以定义类似的东西ISyntaxNode并且仍然node是其中之一,而无需对代码进行任何更改,但我很好奇这是否是一种模式在野外见过。我的 google-foo 试图回答这个问题有点简短。
查看完整描述

1 回答

?
慕田峪4524236

TA贡献1875条经验 获得超5个赞

Scala的复合类型与您所描述的非常相似。复合类型允许在声明变量/参数时枚举类型

val myVal: Type1 with Type2 with TypeN = new Type1 with Type2 with TypeN


查看完整回答
反对 回复 2021-12-10
  • 1 回答
  • 0 关注
  • 134 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信