scala - 案例类的 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
数据类型A
和B2
应该有version = "1.0"
和数据类型B1
和C
应该有version = "1.1"
。parents
我不确定这是否最好使用伴随对象来解决,考虑到每个案例类都需要一个对象,或者特征上的字段(包含对类型的引用?)是否有效,这似乎有点冗长Versioned
。
解决方案
推荐阅读
- javascript - 更改已安装组件的数据的正确方法是什么?
- javascript - 遍历通过 XPath 选择的元素的子元素
- database - 两阶段提交如何确保可序列化
- c++ - 为什么我的缓冲区是矫枉过正的?(C++ 异常:std::bad_alloc)
- c# - transform.Translate() 有什么用?
- r - R 错误中的 Shapley IML。col 错误是什么意思?
- vim - Vim 编码不适用于蒙古文文本
- sql - SQL Server 性能:加入或在哪里
- emacs - 如何将 jh 和 fd 映射到
在 Doom Emacs 中? - python - 来自 Django Rest Framework 的自定义错误不起作用