[英]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的更多信息。 它是如何工作的,然后理解概念會更容易。
現在簡單的解釋:我們有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;
}
}
在調用其公共函數之前,您必須創建一個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.