メイン ActionScript 3.0 特設会議室 基本クラスへ引数を与える | 投稿するにはまず登録を |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
theOne | Åê¹ÆNo.40306 投稿日時: 2008-9-17 10:25 |
新米 居住地: 投稿: 9
使用環境:
WinXP Vista MacOSX Flash CS3 |
基本クラスへ引数を与える 基本クラスへの引数の与え方を教えてください。
シンボル1?100まで用意して、それぞれMyClass1?100のクラス名でリンケージします。 クラス定義は自動生成にして、基本クラスはMovieClipをextendsしたBaseClassを設定します。 MyClass1をaddChildする時は、 var newMc:MyClass1 = new MyClass1(); addChild(newMc); の用に記述すると思いますが、 MyClass1を呼ぶ時、BaseClassに引数を与えられないでしょうか? var container:MovieClip = parent; var newMc:MyClass1 = new MyClass1(container); addChild(newMc); の用にしたいのですが 「引数の数が一致しません」とエラーになってしまいます。 BaseClassのコンストラクタは public function BaseClass(_myContainer:MovieClip = null) { ・・・ } と記述しています。 よろしくお願いします。 (シンボル1?100はデザインが違うだけで同じ動作をするので、 クラス定義は自動生成にして基本クラスに共通の動作を記述したBaseClassを設定したのですが そもそもこのやり方って合っているのでしょうか?) |
Tonpoo (gaienboy改め) | Åê¹ÆNo.40307 投稿日時: 2008-9-17 10:49 |
職人 居住地: 東京・神宮前 投稿: 717
使用環境:
Windows 7 Professional, Flash CS5 Pro, Flash Player 10,1,102,64 |
Re: 基本クラスへ引数を与える gaienboyです。
上記の赤字部分のような書き方を初めて見たんですけど、これって文法的に正しい んでしょうか?
|
theOne | Åê¹ÆNo.40309 投稿日時: 2008-9-17 11:04 |
新米 居住地: 投稿: 9
使用環境:
WinXP Vista MacOSX Flash CS3 |
Re: 基本クラスへ引数を与える 「引数がなければ _myContainerにnullを代入」 だと思って記述してます。
特にエラーにならないのですが、なにか危険でしょうか??? 引用:
|
Tonpoo (gaienboy改め) | Åê¹ÆNo.40310 投稿日時: 2008-9-17 11:10 |
職人 居住地: 東京・神宮前 投稿: 717
使用環境:
Windows 7 Professional, Flash CS5 Pro, Flash Player 10,1,102,64 |
Re: 基本クラスへ引数を与える 引用:
theOneさんは書きました: あ、いえ、浅学のため、「引数がなければ」という条件として、()の中でそうい った記述をするやり方を初めて見たために、個人的に違和感を感じただけで、特に それが文法的におかしいとか本件の原因であるとかの確信や裏付けがあるわけでは ありませんでした(汗)。どうも失礼しました。
|
theOne | Åê¹ÆNo.40311 投稿日時: 2008-9-17 11:15 |
新米 居住地: 投稿: 9
使用環境:
WinXP Vista MacOSX Flash CS3 |
Re: 基本クラスへ引数を与える 私は独学な部分が多く、自分でも確証がなかったりしますので
怪しい部分を指摘して頂けるだけでも助かります。 ありがとうございます 引用:
|
野中文雄 | Åê¹ÆNo.40324 投稿日時: 2008-9-17 18:55 |
ちょんまげら 居住地: 東京 投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1) |
Re: 基本クラスへ引数を与える 「自動生成」されるクラスは、引数を受取りません。落着いて、理屈で考えましょう。
クラスMyClass1を、つぎのように定義したとします。それでも、スーパークラスBaseClassのコンストラクタには、引数は渡りません。MyClass1のコンストラクタは、受取った引数をどうすればいいのか何の指示も記述も与えられていないからです(引数は必ずスーパークラスに渡さなければならない決まりもありません)。
ましてや、「自動生成」されるクラスには、そもそも引数が指定されません。 クラスMyClass1ほかをきちんと定義するか、スーパークラスBaseClassにメソッドを定義するなどして必要な値を渡すしかないでしょう。 引用: theOneさんは書きました: |
theOne | Åê¹ÆNo.40325 投稿日時: 2008-9-17 19:12 |
新米 居住地: 投稿: 9
使用環境:
WinXP Vista MacOSX Flash CS3 |
Re: 基本クラスへ引数を与える 野中様 お返事ありがとうございます。
やはり自動生成されたクラスに引数を与えるのは無理なんですね。 MyClass1?100全てを定義するのは手間なので、 スーパークラスBaseClassにメソッドを定義して対処する事にします。 ありがとうございました。 |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |
投稿するにはまず登録を | |