从另一个 Class 访问受保护的函数 - Flash
Accessing Protected Functions from Another Class - Flash
我有两个文件,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
作为主 class。
受保护的函数只能从 class 或扩展它的 class 调用
尽管如此 class 看,作为一个受保护的函数是毫无用处的。要么找到你需要的人public,要么创建一些其他调用它的函数(例如在构造函数中)。
如果这是您绝对需要在不更改的情况下执行的操作 Book.as
,那么在我看来,这是您唯一的选择:
创建 Book
的子class。例如:
public class MyBook extends Book {
public function addMe():void {
addPage();
}
}
现在您可以:
var newBook:MyBook = new MyBook();
newBook.addMe();
我有两个文件,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
作为主 class。
受保护的函数只能从 class 或扩展它的 class 调用
尽管如此 class 看,作为一个受保护的函数是毫无用处的。要么找到你需要的人public,要么创建一些其他调用它的函数(例如在构造函数中)。
如果这是您绝对需要在不更改的情况下执行的操作 Book.as
,那么在我看来,这是您唯一的选择:
创建 Book
的子class。例如:
public class MyBook extends Book {
public function addMe():void {
addPage();
}
}
现在您可以:
var newBook:MyBook = new MyBook();
newBook.addMe();