Masaya seko
masay****@nifty*****
2011年 9月 9日 (金) 23:12:26 JST
お世話になっております。世古です。 矢野さん、ご教授ありがとうございました。 実験したところ問題なさそうではあったのですが、Wciketを使い込んでいる矢野さんに 「フィールドにコンポーネントを代入して使うこともある」と言って頂けると安心でき ます。 以上 ----- Original Message ----- >From: Tsutomu Yano <t_yano****@me*****> >Date: Thu, 08 Sep 2011 18:23:55 +0900 >To: wicke****@lists***** >Subject: [Wicket-ja-user 572] Re: > コンポーネントの変数の宣言位置について > > >矢野です。 > >たぶん、フィールドに出す必要がない(コンストラクタ内でだけコンポーネントにア クセスできれば良い)から、フィールドになってないだけだと思いますよ。変数のスコ ープを小さくするためには、必要ないならコンストラクタ内に閉じてた方がいいので。 > >実際にプログラムを作っていると、コンストラクタ以外の別のメソッドから、コンポ ーネントにアクセスする必要が出てくることは普通にあります(ページのonBeforeRend erとかonConfigureをオーバーライドしてる場合とか)。そういう時は、私はコンポー ネントをフィールドに代入します。 > >> 一つ目のように書いてあるのは、以下の二つの理由だと思っているのですが、その 理解 >> でよろしいでしょうか。 >> 1.ソースが短くなる >> 2.変数のスコープが狭くなる。 > >そのとおりだと思いますよ。 > >--------------------------------------------------- >矢野 勉(やの つとむ) >電子メール: t_yano****@me***** >--------------------------------------------------- > >On 2011/09/07, at 6:22, Masaya seko wrote: > >> お世話になっております。世古です。 >> >> 些細なことなのですが、コンポーネントの変数の宣言位置について疑問がありまし てメ >> ールを書いております。 >> >> Wicketのコードのサンプルを見ておりますと、大抵コンストラクタ内でコンポーネ ント >> の変数が宣言されています。 >> 例えば、以下のような書き方です。 >> public class HomePage extends WebPage { >> public HomePage(final PageParameters parameters) { >> //コンストラクタ内で変数宣言 >> Label label = new Label("message", "hoge"); >> add(label); >> } >> } >> >> インスタンス変数として宣言してはいけない理由でもあるのでしょうか。 >> 例えば、以下のような書き方です。 >> public class HomePage extends WebPage { >> //インタンス変数として変数宣言 >> private Label label = null; >> public HomePage(final PageParameters parameters) { >> label = new Label("message", "hoge"); >> add(label); >> } >> } >> >> 一つ目のように書いてあるのは、以下の二つの理由だと思っているのですが、その 理解 >> でよろしいでしょうか。 >> 1.ソースが短くなる >> 2.変数のスコープが狭くなる。 >> >> インスタンス変数として書いて駄目な理由はないと思っているのですが、インスタ ンス >> 変数として書いているコードをあまりにも見かけないため、不安になってしまいま して >> 。 >> >> ご教授いただければ幸いです。 >> >> _______________________________________________ >> Wicket-ja-user mailing list >> Wicke****@lists***** >> http://lists.sourceforge.jp/mailman/listinfo/wicket-ja-user > >_______________________________________________ >Wicket-ja-user mailing list >Wicke****@lists***** >http://lists.sourceforge.jp/mailman/listinfo/wicket-ja-user