This question already has answers here:
Java Multiple Inheritance
(16个答案)
5年前关闭。
有没有一种方法可以在Java中实现多重分类?例如,以这个UML图-
(16个答案)
5年前关闭。
有没有一种方法可以在Java中实现多重分类?例如,以这个UML图-
GrainCrop
类应如何实现? 最佳答案
接口。 Crop
和FoodItem
之一或两者都是GrainCrop
要实现的接口。所以:GrainCrop
是Crop
(并继承其行为),并显示FoodItem
的行为。在这种情况下,Crop
是基类(可能是抽象类),而FoodItem
是接口。GrainCrop
是FoodItem
(并继承其行为),并显示Crop
的行为。在这种情况下,FoodItem
是基类(可能是抽象类),而Crop
是接口。GrainCrop
同时显示FoodItem
和Crop
的行为。在这种情况下,FoodItem
和Crop
都是接口。
在单继承环境中,您要特别注意识别“什么”是什么以及它表现出的行为。 (这是为什么接口通常由其行为(例如Eatable
)而不是其结构(例如FoodItem
)描述的原因之一。这使得建模更加清晰。)
作为一种经常方便的过度简化,可以将基类视为“什么是”,将接口视为“什么”。一个对象只能是一件事,但是它可以做很多事情。
09-25 20:43