次のような簡単なクラスを受講してください。
class Person(name: String, age: Int) {}
さて、このクラスをインスタンス化するとき、私は通常、そのユーザーがとを使用できるようにしたいname
ですage
。好き:
val ronald = new Person("Ronald", 22)
val ronaldsName = ronald.name // <-
もちろん、これは、と呼ばれるゲッターを定義するか、ケースクラスname
を作成しない限り機能しません。後者は簡単な解決策ですが、私はケースクラスを悪用しているような気がしますか?Person
それでも前者は私が単純にできないので少し不便です:
class Person(name: String, age: Int) {
def name = name
}
したがって、name
クラスのコンストラクターの最初の名前を、personName
または_name
またはなどの他の名前に変更する必要がありn
ます。しかし、それは一種の混乱を招き、私の目にははるかにエレガントではありません。それは同じ概念/変数/値なので、まったく同じ名前にする必要がありますよね?
それで...ここでの最良または正しい実践は何ですか?それを追加するのはとても魅力的ですcase
。