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
}
だから私の質問は:
- ケースクラスや定型コードを使用せずにこれを「修正」する方法はありますか?
- このコンテキストでケースクラスを使用するのは良い考えですか?(またはケースクラスの欠点は何ですか?)
2番目のものは別の質問に値すると思います。