Здравствуйте. Так-уж вышло, что со строгой типизацией данных столкнулся только при изучении as3. Отсюда есть сомнения по правильности их использования в некоторых моментах. Приведу пример:

Код AS3:
public class MyObject {
private var color:uint;
public function MyObject(){}
public function get value():*
{
return color;
}
public function set value(val:uint):void
{
color = val;
}
}
В данном классе есть переменная color:uint - которая хранит установленный пользователем цвет. И как правильно теперь поступить, если мне необходимо проверить - устанавливался-ли пользователем цвет?
Варианты ответа

:
A) Изменить тип данных color:*
B) Добавить флаг в класс empty:Boolean и делать проверку через флаг
С) Изменить типа данных color:int и пустоту использовать, как -1
D) Ваш вариант ответа.