从另一个类访问受保护的函数 - Flash

时间:2015-05-22 16:32:47

标签: actionscript-3 flash inheritance protected

我有两个文件Main.asBook.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作为我的主课程。

1 个答案:

答案 0 :(得分:0)

只能从该类或扩展它的类

调用受保护的函数

虽然看着那个班级,但作为受保护的功能却毫无用处。要么得到你需要将它公开的人,要么创建一些调用它的其他函数(比如在构造函数中)。

如果您需要在不更改Book.as的情况下完成此操作,那么这是我看到的唯一选择:

创建Book的子类。例如:

public class MyBook extends Book {
    public function addMe():void {
        addPage();
    }
}

现在你可以做到:

var newBook:MyBook = new MyBook();
newBook.addMe();
相关问题