[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[jfriends-ml 1781] super.clone() 呼ぶ実装
立見@沼津です。
●宿題の残件のsuper.clone()
java.util.Vectorのソースを見てみてください。
super.clone()をしっかりつかっていますね!
super.clone()を使ったほうがソース量を減らせる=バグを減らせる。
ので、newして、いちいち全部代入する使い方はやはりおすすめできない
実装だと思います。
Objectクラスのcloneメソッドはnative methodですし、どんな実装に
なっているか分かりませんが、いちいち全部代入するよりか、
実行速度が劣るって事もなさそうだし。(推測だが)
javaの格言には、どのような記述がされているのでしょうか。
本が手元にないので、今度立ち読みでもしたいです。
●第8章、何故createCloneというメソッド名にしたか
Object protected clone()
△
|
Vector public clone()
△
|
MyVector public clone()
MyVector でsuper.clone()を呼んだ時にVectorクラスのclone()を
呼んでしまうようになる。Objectクラスのclone()を使って
MyVectorのcloneを実装したい場合には、cloneとは別名にしたほうが
いいから??
super.super.clone()でObjectクラスのclone()は呼び出せない(文法エラー)
呼び出す方法ってjavaでありましたっけ?
-----------------------------------------------------------
Tetsuya Tatsumi Email tetutetu@xxxxxxxxxxxxx
WWW http://isweb35.infoseek.co.jp/business/butainu/