AS3: Anruf-Funktion aus einer Klasse in eine andere
Also ich habe zwei Klasse Klasse A und Klasse B.
Ich habe eine Funktion, die ich verwenden möchten, auf Klasse A aber mein flash-fla-Datei ist mit Klasse B
Also ich habe Folgendes getan:
Klasse A - die Funktion
public function Fb_Checks()
{
//constructor code
load_top_bar();
}
Klasse B - importieren
import ClassA;
dann, wenn ich versuche, rufen Sie die Funktion in der Klasse A von Klasse B:
Fb_Checks();
Bekomme ich die folgende Fehlermeldung:
Aufruf einer möglicherweise undefinierten Methode Fb_Checks.
Gibt es etwas, was mehr sollte ich tun, um diese zu arbeiten?
InformationsquelleAutor Eli Stone | 2012-06-18
Du musst angemeldet sein, um einen Kommentar abzugeben.
Müssen Sie erhalten mehr info über die OOP. Wie es funktioniert, dann wird es einfacher zu verstehen Konzepte.
Jetzt einfache Erklärung: Wir haben ClassA, ClassB und ClassC:
InformationsquelleAutor Jevgenij Dmitrijev
Haben Sie, um eine Instanz von ClassA bevor Sie anrufen können Sie seine öffentlichen Funktionen.
Wenn Sie wollen, um es arbeiten wie in Ihrem Beispiel, Sie sollten erweitern Sie Ihre Klasse mit der ClassA. In diesem Fall müssen Sie die public-und protected-Funktionen sind in der Klasse als gut.
NÖ kann man nicht, aber wenn ClassA extends MovieClip-Klasse erbt von MovieClip-als auch
Ja, Sie können:
ClassA extends MovieClip
undClassB extends ClassA
. UndClassB
wird in der Lage sein, um Zugriff auf allepublic
,protected
undinternal
Funktionen aus beidenClassA
undMovieClip
.So das hat geklappt aber jetzt sind alle Funktionen, die Zugriff auf Dinge, die auf den main-frame von ClassA diese Fehlermeldung bekommen:
Access of undefined property
ich wissen, warum dies passiert ist, weil zum Beispiel die Suche nach einem MC namens Foto-das ist aber nicht auf diesen Rahmen (oder sogar in der gleichen fla-Datei), aber es sollte es sein, die überprüfung der Funktionen, auch wenn Sie nicht aufgerufen wird?Normalerweise, wenn Ihr
ClassA
ruft einige Funktionen auf seine eigene, undClassB
erweitert dieClassA
, dann werden alle Funktionen, dieClassA
ist Aufruf werden automatisch aufgerufen werden, aufClassB
Initialisierung.InformationsquelleAutor Rick van Mook