使用scala的过程中,我创建了一个case class类,参数只有一个name:String,
但是当我再创建一个case class来继承这个类的时候,编译器提示子类的参数必须写成override val name:String 的形式,但是使用普通类继承是没有这个情况的,请问这是为什么或者说基于什么考虑的?
案例类在做比较的时候是按属性值进行比较而非按引用比较。
// 尽管 message2 和 message3 引用不同的对象,但是他们的属性值是相等的,所以 message2 == message3 为 true。
case class Message(sender: String, recipient: String, body: String)
val message2 = Message("jorge@catalonia.es", "guillaume@quebec.ca", "Com va?")
val message3 = Message("jorge@catalonia.es", "guillaume@quebec.ca", "Com va?")
println(message2 == message3) // true