|
|
|||||
Регистрация: Jun 2007
Сообщений: 83
|
Копирование объекта.
Возникла парочка вопросов.Подозреваю что вопросы ламерские, но я что-то не догоняю.
1. Создаём два массива: var testArray1:Array=new Array(1,2,3); var testArray2:Array=new Array(0,0,0); Нужно скопировать массив testArray1 в testArray2. Не ссылку, а сам объект.То есть если бы обе переменные были типа int мы бы написали testArray2=testArray1, а тут как?Не используя цикл. 2. public class A { public var testArray:Array; public function A() { testArray=new Array(1,2,3); var testClass:B=new B(testArray); testFunc(); } public function testFunc(); { trace(testArray);//в первом случае выводит 1,2,3 //во втором случае выводит 2,3 } } public class B { public function B(testArray:Array) { // 1.В первом варианте присваиваем напрямую testArray=[0,0,0]; // 2.Во втором пытаемся обрезать первый элемент testArray.shift(); } } |
|
|||||
|
|
|||||
Регистрация: Jun 2007
Сообщений: 83
|
kackbip
А если это не Array, а Object? |
|
|||||
Если объект содержит только простые типы (строки, числа), то через ByteArray.writeObject , readObject
__________________
if (love is true) break my.heart; |
|
|||||
Регистрация: Jun 2007
Сообщений: 83
|
Rzer
А если не только простые то как? |
|
|||||
Перебирать и копировать значения.
__________________
if (love is true) break my.heart; |
|
|||||
Регистрация: Jun 2007
Сообщений: 83
|
Rzer
Спасибо, понятно.Думал есть метод попроще... А по поводу второго вопроса? |
|
|||||
Регистрация: Jan 2010
Сообщений: 37
|
я обычно вот так просто делаю
public class Item extends Image { public var LinkInfo:String; public var type:String; public var equip:String; public var wearing:Boolean; public var columnNumber:int; public var rowNumber:int; private static var LAST_SELECTED_ITEM:Item; public function Item(LinkInfo:String="", type:String="", equip:String="", wearing:Boolean=false, columnNumber:int=0, rowNumber:int=0) { this.LinkInfo = LinkInfo; this.type = type; this.equip = equip; this.wearing = wearing; this.columnNumber = columnNumber; this.rowNumber = rowNumber; } public static function set LastSelectedItem(item:Item):void { LAST_SELECTED_ITEM = item; } public static function get LastSelectedItem():Item { return LAST_SELECTED_ITEM; } public static function copy():Item { return new Item(Item.LAST_SELECTED_ITEM.LinkInfo, Item.LAST_SELECTED_ITEM.type, Item.LAST_SELECTED_ITEM.equip, Item.LAST_SELECTED_ITEM.wearing, Item.LAST_SELECTED_ITEM.columnNumber, Item.LAST_SELECTED_ITEM.rowNumber); } } |
Часовой пояс GMT +4, время: 13:44. |
|
« Предыдущая тема | Следующая тема » |
|
|