我在设计我的案例类时遇到了一些困难。一个简化版本如下:
abstract class Base(s: Option[String]) {
//code
}
case class CaseClass(s: Option[String] = None) extends Base(s) {
//code
}
我有一个方法,想要做类似于以下的操作:
def method(base : Base) = {
//code
base copy (s = Some("string"))
}
当然我理解:
value copy is not a member of Base
我想做的是基于我的基类(不是一个case类)创建一个新的实例。显然,这是不可能的。但你如何以一种优雅的方式解决这个问题呢?
提前感谢!