Просмотр полной версии : наследование статических проперти
всем привет!
Я так экспериментальным путем понял что статические проперти нельзя наследовать верно??
в связи с этим вопрос:
как можно в одном месте(а не в каждом классе) указать проперти сразу
для нескольких классов?? Или наименьшими усилиями сделать что нить подобное?
всем привет!
Я так экспериментальным путем понял что статические проперти нельзя наследовать верно??
Ну, до сих пор понятно =) Нет, нельзя наследовать - статические свойства, это свойства класса, а не объекта класса.
я понимаю что это свойство класса....
Ну наверное то что мне надо сделать нельзя...а надо вот что:
у меня есть несколько классов и для каждого класса нужно определить проперти Type = 1(т.е. все классы имеют тип равный единице). И хотелось бы не определять тип для каждого класса, а определить тип в базовом классе - это первое. А второе- хотелось бы иметь возможность проверить тип через класс не создавая объект.
Т.е. по сути надо чтоб унаследовалось и статическое свойство базового класса, что не возможно.
А нужно мне это затем что помимо одного набора классов есть другой набор классов с типом Type=2. Я хотел его унаследовать от другого базового класса со статическим проперти Type=2.
Надеюсь теперь все понятно.. :)
kia007 ответ в примере:
package
{
public class ItemManager
{
public static const FAMILY_ID:String = "9Ax5er";
}
}
package
{
import ItemManager;
public class Item
{
public function Item()
{
trace(ItemManager.FAMILY_ID);
}
}
}
зы: вам в пред нужно задавать вопросы корректнее.
Felicast
22.08.2008, 18:21
2 ulik: покажите мне в вашем примере наследование?
Felicast, нигде. Статические свойства не наследуются, об этом ещё автор темы сказал.
А так?
class Base1 {}
class Instance1 extends Base1 {}
class Instance2 extends Base1 {}
class Base2 {}
class Instance3 extends Base2 {}
class Instance4 extends Base2 {}
function getType(class:Class):uint {
if (class is Base1) {
return 1;
}
if (class is Base2) {
return 2;
}
}
ulik спасибо! :)
Яски
так не пойдет т.к. я не знаю базовые классы и не хочу знать.
Felicast
22.08.2008, 22:05
Felicast, нигде. Статические свойства не наследуются, об этом ещё автор темы сказал.
я и не спорю. просто ulik написал, что ответ в примере, но я его там не нашел.
по теме: а нельзя не хранить переменную с типом, а просто использовать проверку типа:
if (myItem is BaseClass1)
{
...
}
else if (myItem is BaseClass2)
{
...
}
вместо того чтобы хранить для этих целей свою переменную
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.