1

だから私は2つのクラスのクラスAクラスBを持っています。

クラスAで使用したい機能がありますが、フラッシュflaファイルがクラスBにリンクされています

だから私は次のことをしました:

クラスA-関数

    public function Fb_Checks()
    {
        // constructor code
        load_top_bar();
    }

クラスB-インポート

import ClassA;

次に、クラスBからクラスAの関数を呼び出そうとすると、次のようになります。

Fb_Checks();

次のエラーが発生します。

未定義の可能性があるメソッドFb_Checksを呼び出します。

これを機能させるために私がすべきことは他にありますか?

4

2 に答える 2

2

OOP に関する詳細情報を取得する必要があります。それがどのように機能しているのか、概念を理解しやすくなります。

今のところ簡単な説明: ClassAClassB、およびClassCがあります。

ClassA
{
    var value:ClassB;

    public function ClassA ()
    {
        // each variable needs to initialize unless it is the ClassC, see below
        // Only after that you will be able to reach the public properties
        // of the class.
        value = new ClassB();
        value.calculate();
    }
}

ClassB
{
    var value:Number;

    public function ClassB ()
    {

    }

    public function calculate():void
    {
        // these must be statis
        ClassC.sum(150, 450);
    }
}

ClassC
{
    // if the function is static, then you can call it without initializing
    // the class
    static public function sum(value1:Number, value2:Number):Number
    {
        return value1 + value2;
    }
}
于 2012-06-18T13:37:04.727 に答える
1

パブリック関数を呼び出す前に、ClassAのインスタンスを作成する必要があります。

package  
{
    import ClassA;

    public class ClassB
    {

        public function ClassB()
        {
            var instanceOfA:ClassA = new ClassA();

            instanceOfA.Fb_Checks();
        }
    }
}

例のように機能させたい場合は、ClassBをClassAで拡張する必要があります。その場合、それはパブリック関数であり、保護された関数はClassBでも使用できます。

package  
{
    import ClassA;

    public class ClassB extends ClassA 
    {

        public function ClassB()
        {
            Fb_Checks();
        }
    }
}
于 2012-06-18T13:31:06.870 に答える