加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

派生与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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读