我的方法func()的参数必须实现两个不相关的IFoo和IBar接口。有没有比这更好的方式来声明另一个接口,仅用于从IFoo和IBar继承并将该接口用作参数类型的目的?AS3:我如何需要一个方法参数来实现多个接口?
public interface IFooBar extends IFoo, IBar {
}
public function func(arg:IFooBar):void {
}
我开发什么,我试图做的Flash Player 9
具体细节:
我写了旨在帮助班一个小型图书馆我在开发Flash游戏。为了调试和比赛结果的确认有助于图书馆要求用户拆分游戏分为以下几个部分:
- rawInputProducer:无论从闪存输入事件主要生产设备输入事件,保存从以前的会话事件,或者一些其他源
- rawInputProcessor:侦听到设备的输入,并从中产生用户命令
- gameController:侦听到用户命令,并更新游戏状态
- gameView:侦听到游戏从gameController状态变化并更新阶段
所有这些组件都会生成事件(称为'消息',不会将它们与Flash事件混淆)。类Engine
启动组件并运行主循环。
为了允许组件尽可能通用Engine
只需要它们实现IMessageDispatcher
和ITickable
。我将要编写只有IMessageDispatcher
或只有ITickable
的课程。我也有一个通用MessageDispatcher
,实现IMessageDispatcher
,我的组件可能会扩展。
原来的问题对于我怎样才能声明的方法如下所示:
Engine.setGameController(controller: ITickable & IMessageDispatcher):void
正如@maxmc所指出的那样,它应该是'public interface IFooBar extends IFoo,IBar {',''implements' – Amarghosh 2010-05-04 09:22:15