【问题标题】:AS3: creating a class with multiple and optional parameters?AS3:创建一个具有多个可选参数的类?
【发布时间】:2010-05-18 15:42:52
【问题描述】:

我正在创建一个幻灯片,其中每张幻灯片都可以包含: - 视频或静止图像 - 1 个或多个音轨(最多 3 个) - 1 个或多个按钮(最多 3 个)

我在想每张幻灯片都可以是它自己的对象,然后我会将视频、音频、按钮等作为参数传递给它:

package 
{
    import flash.media.Video;

    public class Section
    {
        public function Section (video:Video, still:myPhotoClass, audiotrack:Sound, button:myButtonClass) {
            // can have video OR a still
            // can have 1 audio track or several
            // can have 1 button or more
        }
    }

我不知道如何解决这个问题,因为某些项目(音频、按钮)可能有多个,而且有两个项目是可选的,因为可以有一个或另一个(视频/仍然)。

例如,我是否应该完全避免作为参数传递,使用不同的方法(可能是 getter/setter)?

【问题讨论】:

    标签: class parameters actionscript-3


    【解决方案1】:

    试试"...(rest) parameter"

    private var _optionalParam:Array;  
    
    public function exOptionalParam(arg1:Number, ...optionalParam) {    
    
      _optionalParam = optionalParam;
    
      trace(_optionalParam );  // [all the additional arguments]
    }  
    

    【讨论】:

      【解决方案2】:

      让我们看看这是怎么回事:

      您可以添加所有参数并将它们设置为 null 以便不需要它们,例如:video:Video = null、still:myPhotoClass = null、audiotrack1:Sound = null、audiotrack2:Sound、audiotrack3:null、 button1...等(简单测试有效)

      或者只是为具有多个项目的数组传递一个数组,或者一个正确类型的向量。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-01-30
        • 2019-11-18
        • 2021-06-20
        • 1970-01-01
        • 1970-01-01
        • 2020-10-10
        相关资源
        最近更新 更多