- PR -

Widening

投稿者投稿内容
HIRO
常連さん
会議室デビュー日: 2003/04/15
投稿数: 20
投稿日時: 2003-05-19 09:46
引用:

ボアさんの書き込み (2003-05-17 01:40) より:

HIRさん
> Aにcopy()メソッドを実装しておいて、Bのコンストラクタで呼び出すのはどうですか?
> ※以下、かなり端折ってますが・・・

これと似たような方法で、クラスAのコンストラクタにクラスAを
引数として持つものを用意する方法を教えてもらったのですが、
これって設計上問題ありますか?



いわゆるコピーコンストラクタですね?
データ格納を目的としたクラスに用意しておくと結構便利です。

ただ、今回のように継承が発生したときに スライシング という現象が発生することがあるとか・・・。(コレ、つい先日知ったのですが・・・)
なので、可能であれば クラスA は final として継承されないことを保証しておいた方がいいみたいです。

この辺りは僕もまだよく理解していない部分なんで、どなたかフォローしていただけると助かります。

スキルアップ/キャリアアップ(JOB@IT)