我阅读并理解,case class
是发送参数并创建多个对象而case object
不发送任何参数并具有单个对象。因此object
也可以实现case object
。
为什么case object
很重要?何时?我已经完成了这篇文章,但我没理解为什么case object
。
答案 0 :(得分:0)
嗯...... object
中的Scala
可以"roughly"
解释为anonymous class
的实例。现在,case object
和object
的区别在于anonymous class
与case class
或class
更明确地说,
object A
// is roughly equivalent to something like
class AnonymousClass12345
val A = new AnonymousClass12345()
case object
,
case object A
// is roughly equivalent to something like,
case class AnonymousClass12345
val A = new AnonymousClass12345()
现在,与case class
vs class
相关联应该非常简单。作为anonymous case class
的一个实例,case object
获得了任何其他case class
的任何实例的所有好处。
注意::此答案旨在提供不准确但易于理解的解释。对这个问题的一个更准确的答案不仅需要理解差异class vs type
,而且差异很大(但不是非常准确)地讨论了这个差异 - answer而且还需要Scala反思。