AS3.0での自作したクラスのコピーについて

javaと同じで、AS3.0も自作したクラスを=で代入すると参照がコピーされるようです。

class MyClass
{
以下略
}

MyClass a,b;
a = new MyClass();
b = a;

ってかいたらaとbは同じデータを指しているということ。


このため、bを変えるとaが変わっちゃいます。


参照ではなく、aと同じ値をもったbを新規作成したい場合には、
ディープコピーするための処理を自分で作らなければいけないようです。


一つの方法は、
http://d.hatena.ne.jp/octech/20080419
こういうやり方だそうですが、自分の場合はうまく動作しなかったので、
intとかStringとかプリミティブ型(値渡し)になる所まで下っていって
コピーする関数を作りました。


クラスが複数階層にまたがっていたので、書くクラス全てに順番に値をコピーする
cloneメソッドを追加しました。
c,とかc++とかをメインで使っている人間としては、この辺の感覚はまだ馴染めてないですねー。
ポインタ使わせろ!って気持ちになってしまいますw