在AS3/Flex中,一个接口可以扩展另一个接口吗?
我已经创建了接口A。现在,我想创建另一个扩展接口A的接口B。
我在谷歌上搜索了很多,但找不到任何令人信服的答案。请帮帮忙。
发布于 2013-05-16 22:12:14
当然,您可以扩展interface
多个接口可以由另一个接口通过extends子句继承,也可以由一个类通过implements子句继承。实现接口的类的实例要长到该接口所表示的类型。接口定义只能包含函数定义,函数定义可以包含get和set方法。
请记住:有时直接尝试或直接查看Flex SDK源代码会更快。;-)
${FLEX_HOME}\frameworks\projects\framework\src\mx\core\IUIComponent.as
package mx.core
{
...
public interface IUIComponent extends IFlexDisplayObject
{
...发布于 2013-05-16 23:03:09
在我的评论中,我说接口不是扩展的;它们是实现的。这应该是接口由类使用implement关键字实现的。当你想用一个接口来“扩展”多个接口时,只需使用扩展关键字并用逗号分隔它们即可。
使用这个接口,IMyFirstInterface:
public interface IMyFirstInterface {
// method definitions here
}然后以另一个接口IMySecondInterface为例:
public interface IMySecondInterface {
// method definitions here
}两者都是“独立的”,这意味着它们与另一个接口没有任何关系。但是,第三个接口可以同时扩展它们,如下所示:
public interface IMyThirdInterface extends IMyFirstInterface, IMySecondInterface{
// method definitions here
}您的类将实现该接口,如下所示:
public class myClass implements IMyThirdInterface{
// other class stuff
}myClass需要包含iMyThirdInterface、IMyFirstInterface和IMySecondInterface中定义的所有方法,因为它实现了扩展IMyFirstInterface和iMySecondInterface的IMyThirdInterface。
我不知道“碰撞”是如何处理的。如果IMyFirstInterface和IMySecondInterface使用不同的签名实现相同的方法,我可能会遇到编译器错误。
发布于 2017-05-16 14:49:54
接口可以扩展其他接口。类可以扩展类。看到这里的相关性了吗?就像乐高积木一样。
接口实现类。类实现接口。现在应该说得通了。
https://stackoverflow.com/questions/16588016
复制相似问题