在 Scala 中,如果我们有
class Foo(bar:String)
我们可以创建一个新对象但不能访问bar
val foo = new Foo("Hello")
foo.bar // gives error
但是,如果我们声明这Foo
是一个case class
这样的作品:
case class Foo(bar:String)
val foo = Foo("hello")
foo.bar // works
因此,我被迫将我的许多课程作为案例课程。否则,我必须编写样板代码来访问bar
:
class Foo(bar:String) {
val getbar = bar
}
所以我的问题是:
- 有没有办法在不使用案例类或样板代码的情况下“解决”这个问题?
- 在这种情况下使用案例类是个好主意吗?(或者案例类的缺点是什么?)
我想第二个值得一个单独的问题。