Case类scala的DAG

Case类scala的DAG,scala,types,case-class,Scala,Types,Case Class,我是Scala新手,有几个类实现了相同的特性,我希望每个类上的字段通过DAG相互关联 具体来说,假设类字段的排列方式如下: ---A.version--- | | V V B1.version B2.version | | -->C.version<-- A和B2类型的数据应具有version=“1.0”,而B1和C类型的数据应具有versi

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

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

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

A
B2
类型的数据应具有
version=“1.0”
,而
B1
C
类型的数据应具有
version=“1.1”
。我不确定这是否最好使用伴随对象来解决,考虑到每个case类都需要一个,这似乎有点冗长,或者
版本化的
trait上的
父类
字段(包含对类型的引用?)是否有效。

版本
对象的属性吗(在这种情况下,它属于类,这些类是对象的模板),或者是类型的属性(在这种情况下,它应该是更静态的某个地方,如伙伴)?“详细性”不是选择前者而不是后者的有效理由。它是该类型的属性。在这种情况下,重要的是要知道您需要如何处理此
版本
。如果它确实是该类型的属性,则您不能(轻松地)例如,在一个集合中有一组不同版本的对象。您希望DAG的实际行为是什么?基本上,我要寻找的属性是,对于给定的数据类型,我可以根据其父类型(及其父类型等)的版本,计算出它应该在哪个版本上,而不在每个伴生对象中写入显式版本。