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

[jfriends] Re: 継承とコンポジションの選択




>読書会でも話題になった継承とコンポジションの使い分けですが、5/24発売の
>月刊ジャバワールド誌の記事「連載 Javaのプログラミングテクニック第5回」
>p.100 からに「継承とコンポジションの選択法」という題名で掲載されています。
>おおよそP.コード氏と同じ結論のようですが、こちらには具体的なソースコードが
>載っているので分りやすいかもしれません。

このソースコード読みたいです。久しぶりにJavaWorldを買ってみようかな。

>コンポジションと継承の選択基準が
>3つ挙げられ、
>・クラス間に「is-a」関係が成立する場合にのみ継承を用いる

読書会の時には「kind-of」の関係というのも出ましたね。

>・コードの再利用だけが目的ならば継承は使わない

賛成です。でも、以前 NIFTY の SINPRISE (インプライズ・ステーション)で
多重継承の議論になったとき、相手をしてくれた C++ 派の人がやりたい
多重継承の使い方として実装の再利用みたいなことがあげられていました。
(このときの議論もかみ合わなかったなあ...)

>・ポリモリフィズムの実現には、継承よりもコンポジションとインタフェースの
> 組み合せのほうが有効である

Coad も同じような主張をしていましたね。
でもこちらのまとめのほうが分かりやすいです。

>#「例を通してしか学べない」などといってながらコード氏の本には例が不十分で
>すね。

読書会の議事録は監訳の今野さんにもお送りしようかと思います。
(Peter Coad にも送ろうかな...英訳するのかあ...)

>また、同記事の後半は「ダイナミック・エクステンションの使用法」というこれま
>た
>興味深い内容が掲載されています。forNameとクラスローダについて書かれています
>。

最近 JNI をはじめて書いたときに、
こうやってVMやクラスはロードされるのかぁと納得した気分になっていました。^^;

この記事も読んでみたいです。

>付録CD-ROMには、JDK1.2.1, JDK1.1.8(Win32, Solaris)が入ってます。

Java 3D 1.1.1も入れて欲しいですね。
-- 
えんどう やすゆき <yasuyuki@xxxxxxxxxx>
http://www.javaopen.org/jfriends/ (Java互助会ホームページ)