首页 > 解决方案 > 案例类的 DAG

问题描述

我是 Scala 的新手,并且有几个实现相同特征的类,我希望每个类上的字段通过 DAG 相互关联。

具体来说,假设类字段的排列方式如下:

      ---A.version---
      |             |
      V             V
   B1.version   B2.version
      |             |
      -->C.version<--

我们有这样的代码:

trait Versioned {
  val version: String = "1.0"
}

case class A() extends Versioned

case class B1() extends Versioned {
  override def version: String = "1.1"
}

case class B2() extends Versioned

case class C() extends Versioned

数据类型AB2应该有version = "1.0"和数据类型B1C应该有version = "1.1"parents我不确定这是否最好使用伴随对象来解决,考虑到每个案例类都需要一个对象,或者特征上的字段(包含对类型的引用?)是否有效,这似乎有点冗长Versioned

标签: scalatypescase-class

解决方案


推荐阅读