所以我有两个班级的 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。
还有什么我应该做的才能让它发挥作用吗?
答案 0 :(得分:2)
您需要获得有关OOP的更多信息。它是如何工作的,然后理解概念会更容易。
现在简单解释一下:我们有 ClassA , ClassB 和 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;
}
}
答案 1 :(得分: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();
}
}
}