Class 类继承理论透视

Class 类继承理论透视,class,oop,inheritance,Class,Oop,Inheritance,最近有人问我以下问题,我不确定自己回答得有多好,所以我想看看人们对这个问题的看法: 如果你面对的是一类苹果和一类蒲式耳。什么类会从另一个继承,为什么 让我知道你的想法,谢谢。也不要。苹果不是蒲式耳,蒲式耳也不是苹果。蒲式耳包含苹果,因此这种关系是一种包容关系,而不是继承关系。我认为两个类都不应该派生自另一个类。苹果和蒲式耳篮子是根本不同的东西。一蒲式耳可能含有苹果,但没有表明遗传的关系 可能Apple类应该从一个更抽象的Fruit类派生,而Bushel可能从一些更抽象的容器继承。然后可以指定一个

最近有人问我以下问题,我不确定自己回答得有多好,所以我想看看人们对这个问题的看法:

如果你面对的是一类苹果和一类蒲式耳。什么类会从另一个继承,为什么


让我知道你的想法,谢谢。

也不要。苹果不是蒲式耳,蒲式耳也不是苹果。蒲式耳包含苹果,因此这种关系是一种包容关系,而不是继承关系。

我认为两个类都不应该派生自另一个类。苹果和蒲式耳篮子是根本不同的东西。一蒲式耳可能含有苹果,但没有表明遗传的关系


可能
Apple
类应该从一个更抽象的
Fruit
类派生,而
Bushel
可能从一些更抽象的
容器继承。然后可以指定一个
容器
包含零个或多个
水果的实例

一个蒲式耳大小的篮子可能包含苹果,但蒲式耳不是苹果,苹果也不是蒲式耳。关于它们,几乎没有什么可以互换地使用()或定义为“是一种”关系。非常感谢大家。我认为这是一个有点诡计的问题,但我已经很久没有做任何OOP了。我知道“is-a”这个词,但我让自己上当受骗,以为一蒲式耳“是”一堆苹果,这是不对的。狗“是”动物更符合正确的关系。谢谢你!即使蒲式耳是一个“苹果的集合”,你仍然不会使用继承,而是使用关联。