Prayer X 2020-04-02 18:37 采纳率: 0%
浏览 509

scala中case class的继承

使用scala的过程中,我创建了一个case class类,参数只有一个name:String,
但是当我再创建一个case class来继承这个类的时候,编译器提示子类的参数必须写成override val name:String 的形式,但是使用普通类继承是没有这个情况的,请问这是为什么或者说基于什么考虑的?

  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2022-10-27 15:49
    关注
    不知道你这个问题是否已经解决, 如果还没有解决的话:
    • 这篇文章:scala,实现case class类的时候 业务字段过多导致的异常。不能超过22个字段 也许有你想要的答案,你可以看看
    • 除此之外, 这篇博客: Scala 入门-案例类(case class)中的 比较两个案例类 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:

      案例类在做比较的时候是按属性值进行比较而非按引用比较。

        // 尽管 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
      

    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^
    评论

报告相同问题?

悬赏问题

  • ¥15 删除虚拟显示器驱动 删除所有 Xorg 配置文件 删除显示器缓存文件 重启系统 可是依旧无法退出虚拟显示器
  • ¥15 vscode程序一直报同样的错,如何解决?
  • ¥15 关于使用unity中遇到的问题
  • ¥15 开放世界如何写线性关卡的用例(类似原神)
  • ¥15 关于并联谐振电磁感应加热
  • ¥60 请查询全国几个煤炭大省近十年的煤炭铁路及公路的货物周转量
  • ¥15 请帮我看看我这道c语言题到底漏了哪种情况吧!
  • ¥66 如何制作支付宝扫码跳转到发红包界面
  • ¥15 pnpm 下载element-plus
  • ¥15 解决编写PyDracula时遇到的问题