Ich habe einige Schwierigkeiten beim Entwerfen meiner Fallklassen. Eine vereinfachte Version wie folgt aussieht:Scala Fall Klassenhierarchie
abstract class Base(s: Option[String]) {
//code
}
case class CaseClass(s: Option[String] = None) extends Base(s) {
//code
}
Und ich habe eine Methode, wo ich wie etwas tun wollen:
def method(base : Base) = {
//code
base copy (s = Some("string"))
}
Natürlich bekomme ich:
value copy is not a member of Base
Also, was ich will do erstellt eine neue Instanz basierend auf meiner Basisklasse (die keine Fallklasse ist). Offensichtlich kann man das nicht tun. Aber wie würdest du das elegant lösen?
Vielen Dank im Voraus!
Verwandte Frage: http://stackoverflow.com/questions/2911562/case-class-copy-method-abstraction –
http://scala-programming-language.1934581.n4.nabble.com/Question-on- case-class-and-copy-method-td1936310.html –