0

我已经购买了带有应用程序的面向对象分析和设计,在第 64 页第 2 段解释了“是”层次结构,如下所示。

就其“是”层次而言,高级抽象是泛化的,而低级抽象是专门化的。因此,我们说 Flower 类比 Plant 类处于更高的抽象级别。

据我了解,我认为植物比植物更概括,然后花类的抽象级别较低。

我想知道此时我的理解是正确的还是书上的正确?请澄清一下。

4

4 回答 4

3

我同意,这个引用是错误的。根据这里的定义,Plant 比 Flower 处于更高的抽象级别:定义是正确的,示例中的名称是转置的。

于 2009-09-03T08:47:52.467 回答
1

is-a 层次结构的植物和花卉示例可能是我听过的最糟糕的!

一辆车是一辆车。狗是哺乳动物。储蓄账户是-a(n) 账户。所有这些都是典型且易于理解的示例。

于 2009-11-18T23:53:10.863 回答
0

你引用的内容听起来不太对劲。假设 Flower 继承自 Plant,我会理解 Plant 比 Flower 具有更高的抽象级别。所以,

花卉is a植物

植物不一定是花

于 2009-09-03T08:48:35.307 回答
0

我不会说“花是植物”的说法是正确的,在我看来,植物 花。我认为缺少一些上下文。

我认为这本书的作者在这里解释了继承层次结构。如果一个实体位于层次结构的顶部,则它比层次结构中位于其下方的实体更概括(或抽象)。让一个实体继承自另一个实体但比其父实体更抽象(转换为从具体类继承的抽象类)是不好的设计。

于 2009-09-08T08:54:06.133 回答