Masaya seko
masay****@nifty*****
2011年 9月 7日 (水) 06:22:46 JST
お世話になっております。世古です。 些細なことなのですが、コンポーネントの変数の宣言位置について疑問がありましてメ ールを書いております。 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.変数のスコープが狭くなる。 インスタンス変数として書いて駄目な理由はないと思っているのですが、インスタンス 変数として書いているコードをあまりにも見かけないため、不安になってしまいまして 。 ご教授いただければ幸いです。