我正在尝试将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
答案 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返回的类相同。