Мой вопрос касается использования памяти и объектов в ActionScript 2. Если у меня есть определение класса:
class test1{
public function one(){trace("Hello");}
public function two(){trace("World");}
}
И определение второго класса:
class test2{
static public function one(){trace("Hello");}
static public function two(){trace("World");}
}
И тогда я делаю следующее:
var object1a = new test1 ();
var object1b = new test1 ();
var object2a = new test2 ();
var object2b = new test2 ();
Является ли размер object1a + object1b больше размера object2a + object2b из-за того, что функции не являются статичными (и, возможно, копируются в каждый экземпляр объекта)? У меня нет Actionscript 3 для определения использования памяти, возможно, кто-то может проверить, как это ведет себя в AS 3, если это трудно определить в AS 2.
Мне просто интересно, являются ли все нестатические функции-члены ссылками на определения одного прототипа, или они копируются оптом в каждую функцию, эффективно удваивая использование памяти для test1 vs test2. Я предполагаю, что они обрабатываются как ссылки, а затем их переопределение просто меняет ссылку на другую функцию в памяти, но я не уверен и хотел бы немного пояснений.
Спасибо!