![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
есть класс game.visual.VisualObject
class game.visual.VisualObject {
private var instanceNum:Number;
static private var instanceCount:Number = 0;
private function countInstance():Void {
instanceNum = ++instanceCount;
TRACE(Flashout.DEBUG + "instanceNum=" + instanceNum);
}
}
мне же нужно, чтобы эта функция считала экземпляры конкретных классов (тех, которые наследуют VisualObject). как это можно сделать? возможно ли вообще? понятно, что если этот код вставить в код каждого класса - считать будет так как надо. заранее спасибо.
__________________
вставьте подпись здесь |
|
|||||
|
4AM Games
|
вообще я бы сделал дополнительный класс
VOC (VisualObjectCounter) с методом addItem(); import game.visual.VisualObject;
class package.VOC {
private static var items:Array = new Array();
public static function addItem(item:VisualObject):Void {
items.push(item);
}
public static function getItem(index:Number):VisualObject{
return items[index];
}
pubcli static function getLength():Number {
return items.length
}
}
import package.VOC
class game.visual.VisualObject {
private var instanceNum:Number;
private function countInstance():Void {
VOC.addItem(this);
}
}
__________________
Я перестал переписывать, начал редактировать, еще лет 15 и я стану писателем ^_^ |
|
|||||
|
я опять неясно выражаюсь
![]() смотри. есть SuperClass и SubClass (SubClass extends SuperClass). мне хотелось бы задать свойствами и методами SuperClass возможность для экземпляров SubClass считать себе подобных. сейчас, когда я задаю переменную в SuperClass: при вызове конструктора instanceCount увеличивается для всех ПодКлассов SuperClass. мне же нужно, чтобы instanceCount была для каждого отдельного класса своя. но функциональность у неё должна быть абсолютно идентичная. я вот и думаю, как это сделать так, чтобы не пришлось глупо копировать один и тот же код в разные классы. то есть мне нужно получить static функцию и переменные, которые при наследовании теряют связь с СуперКлассом. ещё пример. есть класс VisualObject (некий объект на экране). есть ПодКлассы, которые реализуют конкретные объекты. так как объектов много, нужно их мувиклипы где-то размещать. для этого я ввожу свойство дальше мне хочется, чтобы в каждом отдельном ПодКлассе это свойство было своё (опять нужен отрыв от СуперКласса). как мне это сделать? неужели только copy/paste?
__________________
вставьте подпись здесь |
|
|||||
|
4AM Games
|
хм, не так тебя понял=) вроде только копи пэйст...я поделаю эксперименты когда освобожусь.
__________________
Я перестал переписывать, начал редактировать, еще лет 15 и я стану писателем ^_^ |
|
|||||
|
Регистрация: Nov 2003
Сообщений: 128
|
А если каунтеры хранить в отдельном хэш-массиве, к элементам которого обращаться через typeof(this)?
|
|
|||||
|
2Nirth: я попробую написать...
2MaxLife: typeof на все классы показывает "Object" ![]()
__________________
вставьте подпись здесь |
![]() |
![]() |
Часовой пояс GMT +4, время: 07:04. |
|
|
« Предыдущая тема | Следующая тема » |
|
|