Показать сообщение отдельно
Старый 29.01.2014, 14:21
expl вне форума Посмотреть профиль Отправить личное сообщение для expl Найти все сообщения от expl
  № 11  
Ответить с цитированием
expl

блогер
Регистрация: Feb 2006
Сообщений: 1,474
Записей в блоге: 3
Цитата:
То есть по факту, классы наследники мне пришлось оставить пустыми, потому как больше ничего поделать я с ними не могу.
Может они хотят что-то типа такого (хотя не факт):

Код AS3:
public class Enumeration
    {
        public function Enumeration()
        {
 
        }
 
        private var _commonValue:*;
        public function get commonValue():*// Это для обобщенных алгоритмов над всеми перечислениями
        {
            return _commonValue;
        }
 
    }
 
 public class UintEnumeration extends Enumeration
    {
 
        public function UintEnumeration()
        {
 
        }
 
        private var _value:uint;
        public function set value(value:uint):uint
        {
             _value = value;
             _commonValue = value;
        }
        public function get value():uint
        {
             return _value;
        }
    }
Цитата:
могу ли я в классах наследниках переписать так метод get value() чтобы он возвращал значения другого типа? Так как в данной ситуации, это могла быть единственная польза принесенная таким наследованием.
Пользу тут вообще искать сложно, они это, видимо, чисто ради примера сделали
На практике такой стиль не подводил(без всяких базовых классов - они практически бесполезны и с забиванием большого гвоздя на проверки создания не в том месте - они не от чего не защищают):
Код AS3:
public class UnitType
{
    // Список всех значений (не всегда нужен, кстати)
    public static const allUnits:Vector.<Unit> = new Vector.<Unit>();
 
    public static const Unit1:UnitType = new UnitType(1);
    public static const Unit1:UnitType = new UnitType(2);
    public static const Unit1:UnitType = new UnitType(3);
 
    private var _code:uint;
    public function get code():uint
    {
        return _code;
    }
 
    public function UnitType(code:uint)
    {
        _code = code;
        allUnits.Add(this);// заполнение списка
    }
}
А громоздить сюда рефлексию - это лишние проблемы при дебаге и никакой пользы