首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AS3/Flex :接口扩展接口

AS3/Flex :接口扩展接口
EN

Stack Overflow用户
提问于 2013-05-16 20:53:37
回答 3查看 2.2K关注 0票数 0

在AS3/Flex中,一个接口可以扩展另一个接口吗?

我已经创建了接口A。现在,我想创建另一个扩展接口A的接口B。

我在谷歌上搜索了很多,但找不到任何令人信服的答案。请帮帮忙。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-05-16 22:12:14

当然,您可以扩展interface

多个接口可以由另一个接口通过extends子句继承,也可以由一个类通过implements子句继承。实现接口的类的实例要长到该接口所表示的类型。接口定义只能包含函数定义,函数定义可以包含get和set方法。

请记住:有时直接尝试或直接查看Flex SDK源代码会更快。;-)

${FLEX_HOME}\frameworks\projects\framework\src\mx\core\IUIComponent.as

代码语言:javascript
复制
package mx.core
{ 
...
public interface IUIComponent extends IFlexDisplayObject
{
...
票数 2
EN

Stack Overflow用户

发布于 2013-05-16 23:03:09

在我的评论中,我说接口不是扩展的;它们是实现的。这应该是接口由类使用implement关键字实现的。当你想用一个接口来“扩展”多个接口时,只需使用扩展关键字并用逗号分隔它们即可。

使用这个接口,IMyFirstInterface:

代码语言:javascript
复制
public interface IMyFirstInterface {
 // method definitions here
}

然后以另一个接口IMySecondInterface为例:

代码语言:javascript
复制
public interface IMySecondInterface {
 // method definitions here
}

两者都是“独立的”,这意味着它们与另一个接口没有任何关系。但是,第三个接口可以同时扩展它们,如下所示:

代码语言:javascript
复制
public interface IMyThirdInterface extends IMyFirstInterface, IMySecondInterface{
 // method definitions here
}

您的类将实现该接口,如下所示:

代码语言:javascript
复制
public class myClass implements IMyThirdInterface{
 // other class stuff
}

myClass需要包含iMyThirdInterface、IMyFirstInterface和IMySecondInterface中定义的所有方法,因为它实现了扩展IMyFirstInterface和iMySecondInterface的IMyThirdInterface。

我不知道“碰撞”是如何处理的。如果IMyFirstInterface和IMySecondInterface使用不同的签名实现相同的方法,我可能会遇到编译器错误。

票数 0
EN

Stack Overflow用户

发布于 2017-05-16 14:49:54

接口可以扩展其他接口。类可以扩展类。看到这里的相关性了吗?就像乐高积木一样。

接口实现类。类实现接口。现在应该说得通了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16588016

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档