Scala mixin 到类实例

标签 scala mixins

是否可以在 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/

相关文章:

css - SCSS mixin,如何连接单元? (px,%,em)

css - 更少的混合逻辑

java - 是否有 while 循环的替代品可以用 scala TrieMap 更新并发映射

Scala:避免冗余类型参数

json - Play2.2 Scala 中通用案例类与 JSON 之间的自动序列化/反序列化

javascript - Ember mixins - 这是实现 'dynamic' 布局的好方法吗

css - 如何在 sass 中创建和迭代媒体列表?

inheritance - Groovy在这里做什么?

macos - Mac 上的 Spark Shell "Failed to Initialize Compiler"错误

ruby-on-rails - 中间件对 Twitter 和 Scala 意味着什么?