如何创建模板,每次创建扩展MyClass
的类时,它都会自动添加3个函数。
修改
换句话说,我试图在AS3中实现抽象功能。假设MyClass
同时拥有私有和受保护的方法。
答案 0 :(得分:1)
我看到了编写自己的代码模板并在Flash Builder中每次需要时调用它的唯一方法:window->preference->flash builder->editors->code template->action script->new
并将名称赋予模板,例如myclass
。
您可以使用现有模板作为模板语法的示例。
MyClass
子类的模板代码,有三种方法:
import my.package.MyClass
/**
* @author ${user}
*/
public class ${enclosing_type} extends MyClass
{
public function ${enclosing_type}()
{
}
override public function publicMethod():void
{
}
override protected function protectedMethod():void
{
}
override private function privateMethod():void
{
}
${cursor}
}
用法:
myclass
,然后从自动填写选项模板myclass
答案 1 :(得分:-1)
如果您实际上正在扩展MyClass
,那么MyClass
的所有功能都已经可供您的后代使用。您还可以override
使用旧标题和所需的新主体super
,并且仍然可以通过MyClass
限定符调用这些函数的旧版本。因此,您将这些功能添加到implement
并让它们成为。{1}}。
另一种方法是创建一个接口 - 它是一组没有任何函数体的声明,在任何希望在其内容中使用此接口的类中,您必须MyClass
。 A short introduction to interfaces.然后你的implements MyClass
将成为一个接口,其中包含3个函数声明,无论哪个类声明为extends
,都必须为这些函数提供实体。
检查该页面上的其他关键字,包括implements
和protected function abstractFunction(...params):void {
throw new Error("Abstract!");
}
。
希望这有帮助。
编辑:AS3中没有抽象类,但是你可以通过异常抛出在普通类中模拟抽象函数:
{{1}}