• ベストアンサー

as3での他パッケージからの継承

Aaa.as========== package ppp{ public class Aaa{ ~~~~~~ } } ================ Bbb.as========== package qqq{ public class Bbb extends Add{ ~~~~~~ } } ================ とこのようにAaaをBbbで継承したいのですが、 パッケージが違うため、 エラーになるのですが、 どうすればよいのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

パッケージ「ppp」フォルダとパッケージ「qqq」フォルダ、 test.flaが同階層にあるとします. ===================== test.fla pppフォルダ ---Aaa.as qqqフォルダ ---Bbb.as ===================== Aaa.as=============== package ppp{ public class Aaa { public function Aaa(){ } protected function aMethod():void { trace("AaaクラスMethod"); } } } ===================== Bbb.as=============== package qqq{ import ppp.Aaa;//パッケージpppのAaaクラスをインポート public class Bbb extends Aaa{ public function bMethod():void { aMethod(); //Aaaクラスのメソッド } } } ===================== test.fla============= import qqq.Bbb; var bbb:Bbb = new Bbb(); bbb.bMethod(); //"AaaクラスMethod" が出力される ===================== なおAaaクラスでメソッドの属性をデフォルトのinternalにすると 同パッケージ内からの参照でないためエラーになります.

hosepens
質問者

お礼

ありがとうございました

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 同一パッケージ内の継承について

    同一パッケージ内で継承したクラス Test2.java をコンパイルすると「シンボルを見つけられません シンボル:クラス Test1」とエラーになります。 --------Test1.java------- package test; public class Test1{ メソッド } ------------------------- --------Test2.java------- package test; public class Test2 extends Test1{ メソッド } ------------------------- Test1.java,Test2.javaとも同一フォルダ(D:\java\test)にあります。 ちなみにカレントディレクトリをD:\java\testにして javac Test2.java でコンパイルしようとしています。 同一パッケージ内のクラスを継承するというのはおかしなことなんでしょうか?また、コンパイルの仕方もあわせてご教示願えれば助かります。 よろしくお願いします。

    • ベストアンサー
    • Java
  • 継承(extends)について

    extendsについてわからないことがあります。 次の3つのクラスがあった時、 class スーパークラス { ... class サブクラス1 extends スーパークラス { ... class サブクラス2 extends サブクラス1 {... サブクラス2は、サブクラス1でスーパークラスから継承しているフィールドをメソッドを継承するのでしょうか?

    • ベストアンサー
    • Java
  • 仮想関数と継承について

    #include <iostream> using namespace std; class AAA { public: virtual aaa() { cout <<"aaa(void)"<<endl;} }; class BBB : public AAA { public: virtual aaa(int a) { cout <<"aaa(int)"<<a<<endl;} }; int main() { BBB bbb; bbb.aaa();<--これがエラーになります。 return 0; } どうして、既定クラスの引数なしのaaa()はよぶことが できないのでしょうか?

  • as2.0で親の変数を得たいのですが。

    as2.0で親の変数を得たいのですが。 #base/Aaa.as import base.*; class Aaa{ private var myBbb: Bbb; public var myValue: Number; public function Aaa(arg1: Bbb, arg2: Number){ myBbb = arg1; myValue = arg2; } public function getBbb(): Bbb{ return myBbb; } } #base/Bbb.as import base.*; class Bbb{ public function Bbb(){} public function display(): Number{ -----ここでAaa.myValueを返す----- } } #main.fla import base.*; var myBbb = new Bbb(); var myAaa = new Aaa(myBbb, 10); trace(myBbb.display());//=> 10と表示したい 上のようにするにはどうすればよいのでしょうか。 基本的なことかもしれませんが、調べても出てきませんでした。

    • ベストアンサー
    • Flash
  • 継承したポインタ

    まだ経験が浅いので単純な理屈だと思うのですが、納得できる資料がなかったのでどうかご教授お願いいたします。 class AAA { DATA *pData; }; class BBB : public AAA { ..... }; こんな感じのクラスを用意し、実体をメイン関数内で作ったんですが、 AAA aaa; BBB bbb; aaa.pData->Rendering(); これだと上手くいくのに bbb.pData->Rendering(); これだとアクセス違反になるのはなぜでしょうか?

  • 自分で作ったクラスを継承するとエラーが出ます。

    サーブレットを勉強しているのですが、自分で作成したクラスを継承した サーブレットを作成してコンパイルするとその継承したクラスの シンボルを解釈できませんというエラーが出ます。 たとえばclass01というクラスを継承したclass02.javaをコンパイルすると シンボルを解釈できません public class02 extends class01{ といったエラーが出てしまいます。 どうも自分で作ったクラスを読み込めていないようなのですが どうしたらよいのでしょうか? 初歩的な質問かもしれませんが、よろしくお願いします。 ちなみにOSはWin2000、サーブレットはJRUNを使用しています。

    • ベストアンサー
    • Java
  • コンストラクタの記述について ―引数を持ったクラスを継承する場合―

    コンストラクタの記述について ―引数を持ったクラスを継承する場合― ActionScript3.0でプログラミングをしています。 クラスの継承に挑戦したのですが、うまくいきません。 コンストラクタの記述は、何か特別なものが必要なのでしょうか? ■コンストラクタに引数なし → 成功。 ■コンストラクタに引数あり → 失敗。  エラー「No default constructor found in base class <親クラスの名前>」。 ■エラーの出るソース↓ ・Main.as(コンストラクタ内抜粋)     var parent:Parent = new Parent(100);     var child:Child = new Child(200); ・Parent.as package {   import flash.display.Sprite;      public class Parent extends Sprite {     protected var str:String = "親クラスのプロパティ";     public function Parent(inNum:Number):void {       trace("親クラス, ", str, inNum);     }   } } ・Child.as package {   import Parent;   public class Child extends Parent {     public function Child(inNum:Number):void { //■エラー。       trace("子クラス, ", str, inNum);     }   } } ご存知の方、よろしくお願いします。 よろしくお願いします!

    • ベストアンサー
    • Flash
  • Codeigniter コアクラスの継承

    Codeigniterではコアクラス(Controllerやモデル等)を"MY_"等のプリフィックスを使う事で拡張する事ができると思うのですが、同じコアクラスを継承したクラスを複数作成する事はできないのでしょうか? そもそもそういった実装自体が間違っているのでしょうか? class MY_Controller extends Controller{} :OK class MY_Controller2 extends Controller{} :Fatal error: Class 'MY_Controller2' not found

    • ベストアンサー
    • PHP
  • パッケージ間のアクセスが分かりません。

    インプレスジャパン「JavaSE7 Silver問題集 P13 問5」より (ファイル1) public class Sample{ protected int num = 10; } (ファイル2) package ex5; public class SampleImpl extends Sample{ public static void main(String[] args){ System.out.println(num); } } ファイル2をコンパルしようとすると、 「エラー: シンボルを見つけられません」とメッセージが表示されます。 SampleとSampleImplクラスは別々のパッケージに属していますが、 変数numはprotectedで修飾されているので、アクセス出来るように 思うのですが、どこが間違っているのでしょうか? 解説には「明示的にパッケージ宣言したクラスから、無名パッケージに 属するクラスにアクセスしようとするとコンパイルエラーになります。」と ありますが、無名パッケージもパッケージの一つであり、 かつ、この2つのクラス間には継承関係もあります。 よろしくお願い致します。

    • ベストアンサー
    • Java
  • 継承について

    継承についてです。 class A { int x; } class B extends A{ public int test(){ return 1; } public static void main(String[]args){ A a = new B; a.test(); } } としたとき a.test(); という記述はできないものなのでしょうか?a.textでコンパル時にエラーが出ます。aはBのインスタンスを指しているから、test()もつかえるんじゃないかなとおもったのですが・・・ public int test(){return 0;}というのをクラスAに記述すればエラーは起こりませんが、これはわかります。 ウェブを探したのですが、検索の仕方が悪かったのかこれに関する記事をさがせなかったので質問いたしました。

    • ベストアンサー
    • Java
このQ&Aのポイント
  • Roland FA-07をマスターキーボードとして使用している場合、STUDIO SETを切り替える際にMIDI信号のプログラムチェンジが送信されると思います。
  • 質問は、フェイバリット(リファレンスマニュアルP28)を呼び出した時にプログラムチェンジ信号が送信されますでしょうか?
  • 送信先はRoland VR-09です。
回答を見る