Index: [Article Count Order] [Thread]

Date:  Tue, 11 Sep 2001 14:36:25 +0900
From:  hamai@....jp
Subject:  [XP-jp:02554] Re: オブジェクト指向の本 (was XP 	のメタファ、航海士達の星座)
To:  extremeprogramming-jp@....jp
Message-Id:  <200109110536.OAA14016@....jp>
In-Reply-To:  <005e01c139e6$e785c710$0b01a8c0@takuya>
References:  <005e01c139e6$e785c710$0b01a8c0@takuya>
X-Mail-Count: 02554

濱井です。
2001/09/10 19:54:02 +0900にtakusi@....jpさんが送られた
メールに関する返信です。

>> 私が読んだ中で一番わかりやすいと思ったのは。
>>
>> 「憂鬱なプログラマのためのオブジェクト指向開発講座」
>>   (Tucker! 著、翔泳社刊、ISBN4-88135-619-4)
>>
>> でした。ただ、これも多少はオブジェクト指向をかじった人向け
>> という気がします。
>
>サブクラスとサブタイプの明快な説明がなかったりして、私は不満でした。
>(今、手許にないので、確認できないのですが)

継承に重点を置きすぎていたのが、多くの入門書の欠点だったと思います。

継承の重要さは否定しませんが、継承をどう使うかを理解するには
オブジェクト指向開発の他の部分を一通り理解している必要があるため、
初心者には継承の役割が理解困難なのです。

もう少し細かく説明すると。
ソフトウェア開発は、モデル化とモデルの実現とからなるプロセスです。
モデルに合わせてそれを実現していくというのは、オブジェクト指向開発
に限りませんから、オブジェクト指向開発と他の開発手法の最も大きな
違いは、オブジェクト指向でモデル化するところにあります。
オブジェクト指向でのモデル化は、以下のような段階を踏みます。

(1)オブジェクトの抽出
(2)オブジェクトの分類、整理(クラスの抽出を含む)
(3)クラスの分類、整理

継承がでてくるのは、(3)の段階です。つまり(1)や(2)のできない初心者に
継承を教えても本当の理解につながらないのです。