1

所以我有两个班级的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。

我还应该做些什么来让它发挥作用吗?

4

2 回答 2

2

您需要获取有关 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;
    }
}
于 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();
        }
    }
}

如果你想让它像你的例子一样工作,你应该用 ClassA 扩展你的 ClassB。在这种情况下,它的公共和受保护功能也可以在 ClassB 中使用。

package  
{
    import ClassA;

    public class ClassB extends ClassA 
    {

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