[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[jfriends] Re: コピーコンストラクター




> コピーコンストラクターが必要な設計というのがそもそもJava的ではない
> のかなあという気がして来ました。

んー、「設計(発想)が、言語に制約されてしまう」というのは悲しいです。

# モデル化と設計があって、言語によるコーディングがあるべきだとは思う
# けど、まあそもそも、この世を神がお作りになった時も、光(モデル)
# より先に言葉があったわけで、まして神ならぬ人が言語に制約される
# のは仕方がない :-)

> 「浅いコピー」とは、

メンバ毎の代入です。C的にいえば memcpy()によるベタ複写と考えて
ください。

> この「深いコピー」というのが、

クラス参照メンバそれぞれに対する clone()実行と考えてください。

#########
> 関係ないですけどキャストの問題はコピーメソッドをclone()以外の
> メソッドとして実装して、そこからsuper.clone()すれば

そうですね。Object.clone()が public ではなく protected になって
いるのは、別メソッドとして実装せよと暗に示唆しているのかも。