与属性的接口

时间:2010-02-01 16:28:09

标签: flash actionscript-3 actionscript

我正在尝试将getter和setter放入我的界面但是我得到以下错误1053:

Accessor types must match.

以下是我的界面。

package com.objects{


    public interface IKiller {

        function get Systems():Array;
        function set Systems(value:TargetSystem):void;

    }
}

您如何将getter和setter放入界面中? for as3

3 个答案:

答案 0 :(得分:4)

我相信编译器抱怨的是getter返回一个“Array”,但是setter采用了“TargetSystem”

这些类型必须匹配。 (不仅在界面中,而且在类中。)

答案 1 :(得分:1)

我认为问题在于

function get Systems():Array;

Systems定义为Array

function set Systems(value:TargetSystem):void;

Systems定义为TargetSystem

get / set方法的类型需要匹配。看起来你想要一个get属性,但不是一个set(因为set会允许调用者指定一个全新的数组)。

如果您尝试允许调用者将项目添加到系统阵列,请在调用Array.push()后让他们致电get

答案 2 :(得分:0)

是因为你的get返回一个数组,但你的设置是否采用“TargetSystem”类型而不是数组?通常,setter与getter返回的类相同。