具有可以返回多种类型的getter函数的接口的最佳实践

时间:2010-08-17 16:12:59

标签: actionscript-3 interface

我有几个数据处理小部件都实现了自定义IPropertyEditor接口。我想包含一个GetValue getter,但返回类型可能是String,Boolean或int,在我的脑海中。在AS3中,所有这些都继承自Object,所以我可以让GetValue返回一个对象,但我对这种方法感觉不太好。有可能提出主观问题,是否有人就如何处理此问题提出任何建议?

2 个答案:

答案 0 :(得分:1)

在ActionScript中我非常确定您可以通过以下方式定义函数来设置变量返回类型:

public function getValue():* {
    return "Any of these would be fine.";
    return true;
    return 1;
    return new Sprite();
}

希望有所帮助。

答案 1 :(得分:0)

实际上,ActionScript中有一个实际的getter / setter模型。对于您的情况,您可以像这样使用它:

private var _value:*;

public function get value() : * {
  return _value;
}

public function set value(val:*) : void {
  if (typeof val == "int" || typeof val == "boolean" || typeof val == "string") {
    _value = val;
  }
}

这限制了用户(根据您的要求)将此“value”属性的值设置为数据类型int,Boolean或String。