flex – 有没有MXML接口这样的东西
发布时间:2020-12-15 01:48:59 所属栏目:百科 来源:网络整理
导读:这可能是一个愚蠢的问题,如果是这样,请提前道歉. 我想知道在M XML中是否等同于接口? 每当我觉得需要使用界面时,我总是最终制作动作而不是MXML文件,因为我不知道是否/如何使用. 例如,我将有一个基于vbox的组件.我有4个不同的同一个实现,所以我决定使用一个接
这可能是一个愚蠢的问题,如果是这样,请提前道歉.
我想知道在M XML中是否等同于接口? 每当我觉得需要使用界面时,我总是最终制作动作而不是MXML文件,因为我不知道是否/如何使用. 例如,我将有一个基于vbox的组件.我有4个不同的同一个实现,所以我决定使用一个接口.但是,我没有创建单个MXML接口并实现它,而是在as3中创建了一个接口.我已经在4个不同的类中实现了这个接口. 然后,我创建了4个不同的vbox容器,每个容器都有一个脚本标记中的不同实现. 这听起来像是一种合理的方法,还是我反对这里的粮食? 编辑 – 添加示例 界面 package components.content.contents { public interface IContent { function init():void; function doSearch():void function setSearchTerm(term:String):void } } 实施(1/4) package components.content.contents { public class ClipContent extends AbstractContent implements IContent { public function ClipContent() { } public function init():void { } public function doSearch():void { } public function setSearchTerm(term:String):void { } } } MXML文件(1/4) <?xml version="1.0" encoding="utf-8"?> <mx:VBox xmlns:mx="http://www.adobe.com/2006/mxml" width="400" height="300"> <mx:Script> <![CDATA[ // ClipContent Container import components.content.contents.ClipContent; public var content:ClipContent= new ClipContent() public function dostuff():void { content.init() content.doSearch() } ]]> </mx:Script> </mx:VBox> 解决方法
您可以通过以下方式使用MXML组件的接口:
// YourClass.mxml <mx:HBox implements="IYourInterface"> 是MXML的等价物 // YourClass.as class YourClass extends HBox implements IYourInterface 但是你仍然需要在Actionscript中创建接口(在本例中为IYourInterface). (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |