如何声明类型 x 和接口 y 的变量?
例如,如果我有一个扩展 Sprite 并实现 Mungable 的对象,我想做类似的事情:-
var foo:Sprite <mungable>
这样我就可以做类似的事情:
addChild(foo);
foo.munge();
这在 Actionscript 3 中可能吗?
eg, if i have an Object that extends Sprite and Implements Mungable i would like to do something like:-
var foo:Sprite <mungable>
so that i can do something like:
addChild(foo);
foo.munge();
Is this possible in Actionscript 3?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
不直接。正如其他人所建议的,您可以创建一个类型,例如
MungableSprite
,它扩展Sprite
并实现Mungable
,然后引用该类型。但是,您只能将其用于对象,其类型是MungableSprite
的子类型。但你不能简单地传达类型关系“一个对象,它是 Mungeable 和 Sprite”。
Not directly. As others suggested, you can create a type, say
MungableSprite
, that extendsSprite
and implementsMungable
and then refer to that type. However you will only be able to use this for objects, who's type is a subtype ofMungableSprite
.But you cannot simply convey the type relationship "an object, which is Mungeable and a Sprite".
当然是。
在 AS3 中,不能有多重继承,但接口很常见。
对于您的界面,创建一个名为 IMungable.as 的动作脚本文件
对于您的自定义精灵,创建一个名为 MyFoo.as 的动作脚本文件
然后在其他任何地方,只需创建一个新实例并调用的方法。
干杯
Of course it is.
In AS3 you cannot have multiple inheritance but Interfaces are quite common.
For your interface, create an actionscript file called IMungable.as
For your custom sprite, create an actionscript file called MyFoo.as
Then anywhere else, just create a new instance and call the method.
Cheers
当然。您只需将变量转换为接口即可。
您还可以转换为
MySprite
来调用munge()
。Sure. You can simply cast your variable to the interface.
You may also cast to
MySprite
to callmunge()
.