У меня есть объект отображения, который имеет кучу свойств. Я хочу сделать клонирование этого класса. Я понимаю, что невозможно сделать глубокую копию пользовательского класса в AS3, поэтому я прибегнул к простому копированию свойств, а затем через метод clone создайте новый экземпляр с теми же точными свойствами, что и оригинал.Копирование/клонирование свойств экземпляра?
У меня возникли проблемы с получением всех свойств объекта display. Конечно, я могу просто позвонить каждый уаг один за другим и положить его в массив и возвращает этот массив в клоне, как это:
function clone():Array
array.push(displayObject.x);
array.push(displayObject.y);
array.push(displayObject.price);
return array;
Но это на самом деле не объектно-ориентированного. Поэтому я ищу способ получить все свойства объекта, которые затем поместят эти свойства в новый объект.
О, и я бегу на AS3 для Air not Flex, поэтому я не могу использовать mx.utils.ObjectUtil, что является способом сделать это.
вы можете использовать 'flash.utils.describeType '? – Cherniv
К сожалению, он не читает приватную собственность. – Banzboy
Невозможно получить доступ к закрытым и защищенным свойствам –