paragem objecto referenciar em como três
-
06-09-2019 - |
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
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