Scalaでは、valまたはvarを宣言すると、バイトコードにコンパイルされると、Scalaはプライベートフィールドとゲッターおよびセッターを自動的に生成します。
例えば
class myClass {
val name = "My Name"
}
同等のものを作成するためにコンパイルされます
class myClass {
private string name;
public string name();
public void name_$eq(string);
}
ここで、name()とname_ $ eqは、プライベート文字列名のゲッターとセッターです。
private [this] val / var blahとして宣言することで、プライベートフィールドのゲッターとセッターを提供しないように強制できることは知っていますが、コンパイル時にゲッターとセッターを生成しないパブリックフィールドを作成できる必要があります。
これはScalaでも可能ですか?
ありがとう