我正在尝试定义一个接口(interface),其中一个方法(initPage)需要在每个实现中具有不同的参数。我怎样才能做到这一点?对我来说使用 ...args 不好,因为我失去了强类型检查。
public interface IPage {
function initPage(...args):void;
function showPage():void;
function hidePage():void;
function removePage():void;
}
最佳答案
您知道您可以实现多个接口(interface)吗?
我认为你应该维护你的实际接口(interface),减去“有问题的”方法,并创建另一个接口(interface),每个接口(interface)都有不同的方法
public interface IPage
{
function showPage():void;
function hidePage():void;
function removePage():void;
}
public interface IPrettyPage
{
function initPage(p:PrettyArg);
}
public interface IUglyPage
{
function initPage(u:UglyArg);
}
// your implementation Class
package
{
public class Page extends Sprite implements IPage, IPrettyPage
{
// Implementation
}
}
无论如何,这是一个有另一个好主意的示例,但是是 Java 代码: http://www.java2s.com/Code/Java/Language-Basics/Implementmultipleinterfaces.htm
我没有测试过,但我几乎可以肯定这个问题在 AS3 中是不同的。
关于flash - 如何在AS3中定义具有不同参数的接口(interface)方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4005918/