我是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
类型A
和B2
的数据应具有version = "1.0"
,类型B1
和C
的数据应具有version = "1.1"
。我不确定是否最好使用伴随对象来解决此问题,考虑到每个案例类都需要一个对象,或者如果{{1}上的parents
字段(包含对类型的引用?),这似乎有些冗长}特征将起作用。