Javaでは、それらの違いははっきりしています。しかし、Scalaでは、メソッドを宣言してかっこなしで使用できます。また、私はUniform Access PrincipleがScalaが持つ哲学であることも知っています。これらはすべて、フィールドとメソッドの境界を新しい学習者にあいまいにします。メソッドとフィールドの違いは何ですか?
最初にdef
とval
はメソッドとフィールドの境界だと思っていました。しかし、スカラでは、val
を使ってサブクラスで定義された "フィールド"がdef
を使って基本クラスで定義された "メソッド"をオーバーライドできることが判明しました。
したがって、私は疑問に思う:
「場」の概念が存在しない(またはは、パラメータなしの方法と全く同じものである)かどうかScalaで?
もしそうでなければ、それらの境界は何ですか?
「def」と「val」がオーバーライドを超えていると言うと、other_は文が強すぎます。 'def'を' val'で上書きすることはできますが、それ以外の方法では無効にすることはできません。 –
@ m-zありがとう、私は私の記述を編集しました。 –