Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   наследование статических проперти (http://www.flasher.ru/forum/showthread.php?t=115195)

kia007 21.08.2008 22:55

наследование статических проперти
 
всем привет!
Я так экспериментальным путем понял что статические проперти нельзя наследовать верно??
в связи с этим вопрос:
как можно в одном месте(а не в каждом классе) указать проперти сразу
для нескольких классов?? Или наименьшими усилиями сделать что нить подобное?

etc 21.08.2008 23:10

Вас непонятно.

wvxvw 21.08.2008 23:16

Цитата:

всем привет!
Я так экспериментальным путем понял что статические проперти нельзя наследовать верно??
Ну, до сих пор понятно =) Нет, нельзя наследовать - статические свойства, это свойства класса, а не объекта класса.

kia007 22.08.2008 12:14

я понимаю что это свойство класса....

Ну наверное то что мне надо сделать нельзя...а надо вот что:
у меня есть несколько классов и для каждого класса нужно определить проперти Type = 1(т.е. все классы имеют тип равный единице). И хотелось бы не определять тип для каждого класса, а определить тип в базовом классе - это первое. А второе- хотелось бы иметь возможность проверить тип через класс не создавая объект.
Т.е. по сути надо чтоб унаследовалось и статическое свойство базового класса, что не возможно.
А нужно мне это затем что помимо одного набора классов есть другой набор классов с типом Type=2. Я хотел его унаследовать от другого базового класса со статическим проперти Type=2.

Надеюсь теперь все понятно.. :)

ulik 22.08.2008 13:06

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: покажите мне в вашем примере наследование?

etc 22.08.2008 18:49

Felicast, нигде. Статические свойства не наследуются, об этом ещё автор темы сказал.

Яски 22.08.2008 20:11

А так?
Код:

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;
  }
}


kia007 22.08.2008 21:41

ulik спасибо! :)

Яски
так не пойдет т.к. я не знаю базовые классы и не хочу знать.

Felicast 22.08.2008 22:05

Цитата:

Сообщение от __etc (Сообщение 759766)
Felicast, нигде. Статические свойства не наследуются, об этом ещё автор темы сказал.

я и не спорю. просто ulik написал, что ответ в примере, но я его там не нашел.
по теме: а нельзя не хранить переменную с типом, а просто использовать проверку типа:
Код:

if (myItem is BaseClass1)
{
...
}
else if (myItem is BaseClass2)
{
...
}

вместо того чтобы хранить для этих целей свою переменную


Часовой пояс GMT +4, время: 13:25.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.