私はJava SE / EE開発者ですが、Scalaの初心者です。Javaでは、他のコードからアクセスできるプライベートフィールドがある場合、getX()
/ setX()
クラシックスタイルのゲッター/セッターを使用します。ただし、Scalaについてはわかりません。Scalaでは、フィールドのゲッター/セッターの命名規則は、フィールドの名前と同じ名前を使用することに気づきました。それで、単純にフィールドを設定してもいいですpublic
か、それともこのスタイルのゲッター/セッターを使用する必要がありますか?:
private var _value = .....
def value = _value
def value_= (newVal:Int) = _value = newVal
フィールド名自体の前に下線を付けることは(スカラ命名規則に従って)いいですか?
ありがとうございました。
Scalaのスタイルガイドは非常にうまく、これをカバーしています。
プロパティのアクセサの場合、メソッドの名前はプロパティの名前にする必要があります。
ScalaはJavaの規則に従っていません。Scalaは、呼び出し元がフィールドアクセスとメソッド呼び出しの違いを認識できないようにする必要があるという見方を促進します。つまり、規則は、両方に同じ名前を付けることです。したがって、フィールドをメソッドに変更した場合、またはその逆の場合に必要なコード変更の量を減らすことができます。
フィールド名自体の前に下線を付けることは(スカラ命名規則に従って)いいですか?
Scalaの規則は、プライベートにしたいフィールドに接頭辞を付け、それ以外の場合はパブリックメソッドと同じ名前にするか、ゼロで後置することです。どちらの方法でもかまいません。
private var _value = .....
def value = _value
def value_= (newVal:Int) = _value = newVal
ただし、この例では、追加の行は必要ありません。規約が存在するため、この短いバージョンを使用し、後ですべての呼び出しサイトで変更を加える必要なく、必要な場合に、より明示的なバージョンに変更できます。
var value:Int = 0
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加