海外旅行から帰ってきたら、まず何を食べる?

お世話になります。
ActionScrip3に関する質問です。

現在、カスタムクラスを勉強しております。
外部クラスでClassA、ClassBを作成し、
ClassAにある処理の途中でClassBを実行し、ClassBの中からClassAのプロパティを参照しにいく
処理を行いたいと思い、ClassBのコンストラクタからClassAのプロパティをtraceしました。
プロパティppt2は「かきくけこ」が出力されましたが、ppt1は「null」になってしまいました。

恐らく、タイムラインからClassAに対して設定したプロパティの値は見にいけていないようですが、
タイムラインから設定したプロパティの値を継承したClassBから参照しにいく方法はありますでしょうか?

下記ソースと同じ方法でなくても結構ですので、タイムラインから設定した
スーパークラスのプロパティ値をサブクラスから参照・変更できる方法を
ご教授いただければと存じます。

お手数ではありますが、宜しくご教授ください。

宜しくお願いいたします。


/* タイムライン側の処理
-----------------------*/
var test:ClassA = new ClassA();

test.ppt1 = "あいうえお";

test.goNext();


/* ClassAの処理
-----------------------*/
package {

 // インポート記述は省略

 public class ClassA {

  var ppt1:String;
  var ppt2:String = "かきくけこ";

  // コンストラクタ
  public function ClassA() {
}

  public function goNext():void {

   var classb:ClassB = new classB();
  }
 }
}


/* ClassBの処理
-----------------------*/
package {

 // インポート記述は省略

 public class ClassB extends ClassA {

  // コンストラクタ
  private function ClassB() {
   trace(ppt1);
   trace(ppt2);
}
 }
}

A 回答 (1件)

一応





var ppt1:String;



public static var ppt1:String;


test.ppt1 = "あいうえお";



ClassA.ppt1="あいうえお";


としてやればお望みの動作はするでしょうけど
書いてる質問から見ると
クラスとインスタンスについて
あんまり理解してないですね?



とりあえずstaticの意味を調べれば
それで大体わかると思います
    • good
    • 0
この回答へのお礼

H240S18B73様

いつもありがとう御座います。
クラスプロパティについて調べました。
また、クラスプロパティを使うことで問題となっている部分も
解決することができました。

お礼日時:2010/04/14 16:09

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!