0

私はオブジェクト指向の分析とアプリケーションを使用した設計を購入しました。64ページの段落2で、以下のような「isa」階層について説明しています。

その「isa」階層に関しては、高レベルの抽象化が一般化され、低レベルの抽象化が特殊化されます。したがって、FlowerクラスはPlantクラスよりも抽象化のレベルが高いと言えます。

私が理解しているように、私は植物が花よりも一般化されていると思います。花のクラスは植物よりも抽象化のレベルが低くなっています。

この時点で私の理解が正しいのか、それとも本が正しいのか知りたいですか?はっきりさせてください。

4

4 に答える 4

3

同意します、この引用は間違っています。ここでの定義によれば、Plant は Flower よりも高い抽象化レベルにあります。定義は正しく、例の名前は置き換えられています。

于 2009-09-03T08:47:52.467 に答える
1

is-a 階層の植物と花の例は、おそらく私が今まで聞いた中で最悪です!

車は乗り物です。犬は哺乳類です。普通預金口座は (n) 口座です。これらはすべて典型的でわかりやすい例です。

于 2009-11-18T23:53:10.863 に答える
0

私の意見では、「花は植物である」という言葉は真実ではありません。私の意見では、植物には 花があります。いくつかのコンテキストが欠落していると思います。

この本の著者は、ここで継承階層について説明していると思います。エンティティが階層の最上位にある場合、そのエンティティは、階層内でその下位にあるエンティティよりも一般化(または抽象化)されている(または抽象化されている)必要があります。エンティティが別のエンティティから継承しているが、その親よりも抽象的である(具象クラスから継承している抽象クラスに変換する)のは悪い設計です。

于 2009-09-08T08:54:06.133 に答える
0

あなたが引用したことは、まったく正しく聞こえません。Flower が Plant から継承されていると仮定すると、Plant は Flower よりも高い抽象レベルにあると理解できたでしょう。したがって、

is a植物

しかし

植物は必ずしも花ではない

于 2009-09-03T08:48:35.307 に答える