Лучшая практика для интерфейса с функцией получения, которая может возвращать несколько типов - PullRequest
0 голосов
/ 17 августа 2010

У меня есть несколько виджетов для манипулирования данными, которые реализуют пользовательский интерфейс IPropertyEditor. Я хотел бы включить метод получения GetValue, но тип возвращаемого значения может быть String, Boolean или int, вне моей головы. В AS3 все это наследуется от Object, поэтому я мог бы заставить GetValue вернуть объект, но я не чувствую себя хорошо в этом подходе. Имея риск задать субъективный вопрос, есть ли у кого-нибудь какие-либо рекомендации о том, как к этому подойти?

Ответы [ 2 ]

1 голос
/ 17 августа 2010

В ActionScript я почти уверен, что вы можете установить переменную тип возвращаемого значения, определив функцию следующим образом:

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

Надеюсь, это поможет.

0 голосов
/ 17 августа 2010

На практике в ActionScript существует актуальная модель получения / установки. Для вашего случая вы можете использовать его так:

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.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...