AS3:创建一个包含多个和可选参数的类?

时间:2010-05-18 15:42:52

标签: class parameters actionscript-3

我正在制作幻灯片,每张幻灯片都可以: - 视频或静止 - 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
        }
    }

我不确定如何接近这个,因为可能存在多个特定项目(音频,按钮),并且还有两个项目是可选的,可以是ONE或OTHER(视频) /静止)。

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

2 个答案:

答案 0 :(得分:1)

尝试"...(rest) parameter"

private var _optionalParam:Array;  

public function exOptionalParam(arg1:Number, ...optionalParam) {    

  _optionalParam = optionalParam;

  trace(_optionalParam );  // [all the additional arguments]
}  

答案 1 :(得分:0)

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

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

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