我有两个文件Main.as
和Book.as
。
Book.as 如下:
public class Book extends sprite
{
protected function addPage():void
{
var title:Sprite = new Sprite();
addChild(title);
}
}
我正在尝试创建Book的实例,并最终将其添加到舞台上。如何访问此受保护的功能? (我无法更改Book.as
,因为它是项目的一部分)。
我在 Main.as :
中执行以下操作var newBook:Book = new Book();
newBook.addPage();
基本上,我如何访问addPage
?我正在使用extends Sprite
作为我的主课程。
答案 0 :(得分:0)
只能从该类或扩展它的类
调用受保护的函数虽然看着那个班级,但作为受保护的功能却毫无用处。要么得到你需要将它公开的人,要么创建一些调用它的其他函数(比如在构造函数中)。
如果您需要在不更改Book.as
的情况下完成此操作,那么这是我看到的唯一选择:
创建Book
的子类。例如:
public class MyBook extends Book {
public function addMe():void {
addPage();
}
}
现在你可以做到:
var newBook:MyBook = new MyBook();
newBook.addMe();