簡體   English   中英

AS3:從一個類到另一個類的調用函數

[英]AS3: Call function from one class to another

所以我有兩個Class的A類B類

我有一個功能,我希望在A類使用,但我的Flash fla文件鏈接到B類

所以我做了以下事情:

A類 - 功能

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

B類 - 進口

import ClassA;

那么如果我嘗試從B類調用A類中的函數:

Fb_Checks();

我收到以下錯誤:

調用可能未定義的方法Fb_Checks。

為了讓這個工作起作用,還有什么我應該做的嗎?

您需要獲得有關OOP的更多信息。 它是如何工作的,然后理解概念會更容易。

現在簡單的解釋:我們有ClassAClassBClassC

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;
    }
}

在調用其公共函數之前,您必須創建一個ClassA實例。

package  
{
    import ClassA;

    public class ClassB
    {

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

            instanceOfA.Fb_Checks();
        }
    }
}

如果你想讓它像你的例子那樣工作,你應該用ClassA擴展你的ClassB。 在這種情況下,它的公共和受保護功能也可以在ClassB中使用。

package  
{
    import ClassA;

    public class ClassB extends ClassA 
    {

        public function ClassB()
        {
            Fb_Checks();
        }
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM