2

Groovy の動的な可能性はすべて私にとってまだ新しいものであり、以下のコードが機能しない理由がわかりません。

def luke = new FooPerson(firstName: "Luke", lastName: "Skywalker", initials: "LS", login: "luke", password: "luke" )

上記では、firstNamelastName、およびイニシャルに適切な値が与えられ、ログインパスワードには null が返されます。

上記のコードで私が呼び出す場合

luke.setLogin("luke")
luke.setPassword("luke")

すべてのフィールドの適切な値を取得します。

5 つのフィールドすべてがクラスで宣言されている

class Person {

   static constraints = {
   }

   String firstName
   String lastName
   String initials
   String login
   String password

   } 

私の素敵な FooPerson が受け継いでいるものです。問題のあるフィールドは、最初は Person クラスにありませんでした。私は最近それらを追加しましたが、明らかにこれはグルーヴィーなストレスを引き起こします。

もちろん、これを回避することはできますが、なぜそれが奇妙な方法で機能しているのかを理解したいと思います。

4

1 に答える 1