派生与Scala相同的成员变量的Scala案例类
发布时间:2020-12-16 21:33:11 所属栏目:安全 来源:网络整理
导读:有更好的做法吗? scala case class A(x : Int)defined class Ascala case class B(override val x : Int,y : Int) extends A(x)defined class B 我用B扩展A并添加了一个额外的成员变量.在x之前不必写覆写val就可以了. 解决方法 我强烈建议不要继承案件类.它
有更好的做法吗?
scala> case class A(x : Int) defined class A scala> case class B(override val x : Int,y : Int) extends A(x) defined class B 我用B扩展A并添加了一个额外的成员变量.在x之前不必写覆写val就可以了. 解决方法
我强烈建议不要继承案件类.它对equals和hashCode有惊人的影响,Scala 2.8已被弃用.
相反,在特征或抽象类中定义x. scala> trait A { val x: Int } defined trait A scala> case class B(val x: Int,y: Int) extends A defined class B http://www.scala-lang.org/node/3289 http://www.scala-lang.org/node/1582 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |