2012-05-28 3 views
0

ActionScript3에 MemberwiseClone()가 있습니까?AS3에 MemberwiseClone()이 있습니까?

+0

얕은 복사본입니다. 한 가지 간단한 방법은 객체 속성을 반복하는 것입니다 (아마도 "has own"으로 제한하는 것입니다). 그리고 값을 새로운 객체로 밀어 넣는 것입니다. 다시, * shallow * 사본임을 유의하십시오. –

답변

0

아니요 언어에 내장 된 깊은 복사를 직접 수행 할 방법이 없지만 처리 오버 헤드에 관심이없고 각 개체에 대해 고유 한 복제 방법을 작성하는 것을 다루지 않으려는 경우 여기에 설명 된대로 AS3에 내장 된 인트로 스펙 션을 사용하십시오. http://blog.another-d-mention.ro/programming/how-to-clone-duplicate-an-object-in-actionscript-3/

+0

'flash.utils.ByteArray'를 사용하여 개체의 전체 복사본을 만들 수 없습니까? – TheDarkIn1978

+0

@ TheDarkIn1978 글쎄 그건 좋은 질문입니다. 모든 객체를 직렬화 할 수 있다면 새로운 ByteArray를 만들고 원본에서 모든 바이트를 읽고 복제 된 ByteArray에 바이트를 쓰고 그 객체를 작업 할 입력 된 클래스로 직렬화 해제하십시오. 이것은 당신이 생각하고있는 것입니까, 당신은 이것을 보았습니까? 아니면 당신이 생각하고있는 다른 방법이 있습니까? 이걸 살펴보면 최소한 IExternalizable을 구현해야하는 것처럼 보일 것입니다. 복제 방법을 쓰는 것이 덜 효과적 일 것입니다. – shaunhusain

+1

clone() 함수를 사용하여 IClone 인터페이스를 만들고 객체에 구현할 수도 있습니다. 단순한 ByteArray 직렬화는 공용 값만 저장하므로 IExternalizable로 작업해야한다는 것을 잊지 마십시오. – turbosqel

관련 문제