Methods 静态类型语言中的多有界方法?

Methods 静态类型语言中的多有界方法?,methods,types,bounded-types,static-language,Methods,Types,Bounded Types,Static Language,对不起,标题有点不对。因为当这个问题出现时,我正在考虑方法绑定。 带有一些伪代码的示例 interface A interface B val z: A & B = [object of a class that implements A and B]; 他们是否有支持此功能的静态语言->对两种类型z的引用的分辨率或者我是否有一些逻辑问题,而这是不可能的?您可以在scala中使用以下特性执行此操作: trait A trait B class Z extends A with B

对不起,标题有点不对。因为当这个问题出现时,我正在考虑方法绑定。 带有一些伪代码的示例

interface A
interface B

val z: A & B = [object of a class that implements A and B];

他们是否有支持此功能的静态语言
->对两种类型z的引用的分辨率
或者我是否有一些逻辑问题,而这是不可能的?

您可以在scala中使用以下特性执行此操作:

trait A
trait B
class Z extends A with B

val z: A with B = new Z

C#泛型通过
where
约束支持这一点。谢谢!很多scala概念都非常好:)我需要更多地了解itI,我刚刚用javap研究了字节码——看起来scala在使用其他类型时都是用checkcast指令来实现这一点的。在本例中,B.Poor编译器必须在scala中执行许多操作。