是否可以在 Scala 中对类实例进行一些混合?
例如:我有一些 MyClass 实例 var x = new MyClass
,我想在不复制的情况下在某些方法或特征上扩展它。
[编辑:]
我正在寻找在实例化后扩展 x
的方法。
因此,例如在函数方法中,它获取 x
作为参数。
[背后是什么]
我只是想知道隐式对象和 list 是否有一些魔力来实现类型类模式而无需显式调用隐式对象(就像在 Haskell 中一样)。
但仅限于单个对象。
我知道 if 是人为的,但我只是想知道这是否可能,因为混合 Scalas 功能有很多魔力。
最佳答案
你的意思是:
val x = new MyClass with MyTrait
是的,你可以。只是覆盖方法显然可以是:
val x = new MyClass {
override def myMethod = { my implementation }
}
关于Scala mixin 到类实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7949819/