Я хочу создать подкласс «суперкласса» и переопределить одну из его функций.
public class superClass {
protected function f1(...) : Boolean {...}
protected function f2(...) : Boolean {...}
...
protected function f100(...) : Boolean {...}
}
public class subClass extends superClass {
// override f1 in the subclass
protected override function f1(...) : Boolean {...}
}
Проблема в том, что «суперкласс» загружается из swf.У меня нет ссылки на определение класса в моем проекте.Есть ли способ сделать что-то вроде ниже?
public class subClass {
private var superClassObject: Object;
// construct from an instance of superClass
public function subClass (s : Object) {
superClassObject = s;
}
private function myF1(...) : Boolean {...}
override InvokeFunction (fname: string, args: Array) : Object {
if (fname == "f1") {
return myF1(args);
} else {
return superClassObject.InvokeFunction(fname, args);
}
}
}
Я не уверен, как вызов функции реализован в AS.Каким должен быть «InvokeFunction»?