Pergunta

Eu tenho um objeto e um objeto temporário agora se eu fizer tempObj = obj

e mudança material no tempObj que mudanças têm um efeito sobre obj existe uma maneira que eu possa impedi-lo de fazer isso? Saudações Mark

Foi útil?

Solução

Este é um comportamento padrão em muitas línguas. Quando você faz tempObj = obj você não está criando um objeto duplicado. Você está criando uma outra referência ao mesmo objeto.

Eu não acho que você pode alterar esse comportamento, e certamente eu não acho que você deve:)

O que você precisa é criar um outro objeto, uma duplicata do objeto original. Você pode implementar uma função para fazer isso. Talvez isso pode ajudar http://blog.comtaste.com/2007/10/improving_object_copy.html

Boa sorte!

Outras dicas

O que você está fazendo é uma referência para o objeto original e não uma cópia do original. Você deve criar uma cópia profunda do seu objeto. Parece que alguém já escreveu os passos para fazê-lo ...

http://www.as3dp.com/2008/09/23/actionscript-30-clone-a-prelude-to-the-prototype-design-pattern/

Espero que isso ajude

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top