【问题标题】:MXML can the main class implement another one?MXML 主类可以实现另一个吗?
【发布时间】:2012-04-18 10:21:46
【问题描述】:

我有一个加载到另一部电影中的 mxml 应用程序。这需要它实现某些功能。 是否可以让 mxml 应用程序的主类来实现接口? 如果是,怎么做?

【问题讨论】:

    标签: flash apache-flex mxml


    【解决方案1】:

    每个 mxml 组件(还有Application)都有implements 属性,您可以在其中添加接口。示例如下:

    App.mxml:

    <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
                   xmlns:s="library://ns.adobe.com/flex/spark" 
                   xmlns:mx="library://ns.adobe.com/flex/mx"
                   minWidth="955" minHeight="600"
                   implements="IInterface">
        <s:layout>
            <s:VerticalLayout />
        </s:layout>
        <fx:Script>
            <![CDATA[
    
                public function one():void
                {
                    // TODO Auto Generated method stub
    
                }
    
                public function get prop():String
                {
                    // TODO Auto Generated method stub
                    return null;
                }
    
                public function set prop(value:String)
                {
                    // TODO Auto Generated method stub
                    return null;
                }
    
            ]]>
        </fx:Script>
    
    
    </s:Application>
    

    IInterface.as:

    package
    {
        public interface IInterface
        {
            function one():void;
    
            function get prop():String;
            function set prop(value:String);
        }
    }
    

    【讨论】:

    • 好的,我不知道。那么我该把实现这些功能的代码放在哪里呢?
    • 我尝试将它放在 mx:Script 块中,但编译器仍然抱怨未实现的功能
    【解决方案2】:

    请尝试这样的事情: - 希望下面的代码可以帮助你 -

    <?xml version="1.0" encoding="utf-8"?>
    <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
                   xmlns:s="library://ns.adobe.com/flex/spark" 
                   xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600"
                   implements="pkgCom.IAlpha">
        <fx:Declarations>
            <!-- Place non-visual elements (e.g., services, value objects) here -->
        </fx:Declarations>
        <fx:Script>
            <![CDATA[
    
                public function updateName():void {
                    //code
                }
                public function updateValue():void {
                    //code
                }
                public function updateValue1():void {
                    //code
                }
    
            ]]>
        </fx:Script>
    </s:Application>
    

    接口名称:-IAlpha 包名:-pkgCom

    package pkgCom
    {
        public interface IAlpha {
            function updateName():void;
            function updateValue():void;
            function updateValue1():void;
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-02-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-07
      • 2011-09-24
      • 1970-01-01
      • 2010-10-13
      相关资源
      最近更新 更多