我们有顶级动物。然后我们有哺乳动物,爬行动物,鱼和鸟的亚类。这个亚类的子类是狮子,狗,蛇,蜥蜴,鲱鱼,鲨鱼,鸽子和鹰。 这都是课程。如果动物是天然的,水或飞行的,而且水生动物有两种类型:淡水和咸水,我们需要改变。例如,它们也可以是水和天然的。我想过接口,但也许不好,因为对于鸟类来说,我们没有像方法那样实现什么。也许我可以使它像动物类中的变量,然后在构造函数中将这个布尔变量。我不确定如何实现这个最好的方法。你可以帮我吗 ?我如何实现这个层次结构?
-8
A
回答
1
不,你不会为动物的特征制造变量,因为这些特征不会改变(不考虑进化)。
首先,您需要一本体面的面向对象设计书,而不是要求我们提供帮助。采取主动并做一些研究。
就目前而言,如何只执行一些基本的多态布尔功能,如IsTerrestrial()
,IsAquatic()
等..也许让一个枚举AquaticType
返回None
,FreshWater
,SaltWater
或Both
。您可以在最高级别覆盖这些方法,以便您的子类型不必担心。
例如,几乎所有的鱼都不是陆地的,所以Fish
的子类不应该实施这种方法(Fish
类应该)。同样,大多数哺乳动物不是水生的。
这都有点主观。在类层次结构中有很多方法来表示这些信息,但这应该给你一个开始。
相关问题
- 1. 如何实现这个特定的类层次结构?
- 2. 如何实现调用层次结构
- 3. 实现IVs层次结构
- 4. 如何在实体框架中处理这个层次结构
- 5. Java类层次结构,如何实现整个可选变量
- 6. 实现父子类层次结构
- 7. 类别层次结构的实现
- 8. 实现Backbone.js视图层次结构
- 9. 在SQL中实现层次结构
- 10. 如何实现这个网站结构?
- 11. 如何在OOP中实现图形层次结构
- 12. 如何在类层次结构中正确实现Equatable协议?
- 13. 如何实现D3层次结构视图
- 14. 大数据层次结构 - 如何实现?
- 15. 如何使用集合实现类别层次结构
- 16. 强制接口实现在c#中实现层次结构
- 17. 层次结构
- 18. 在这个表格中,树的层次结构如何?
- 19. 如何在C++中建模这个父子层次结构?
- 20. 如何将两个现有列放在层次结构下?
- 21. 如何构建层次结构?
- 22. 我该如何解决这个无效的类加载器层次结构?
- 23. 如何用这个表结构实现MySQL的结果?
- 24. radgridview层次结构
- 25. UIView层次结构
- 26. 类层次结构
- 27. 类层次结构
- 28. Hibernate中的实体层次结构
- 29. 最佳实践层次结构
- 30. 根据glTF模型层次结构构建器构建实体层次
“Mb”是什么意思? –
至少提供一些您尝试过的东西的证据。 –
你没有什么可以实现的鸟类? srsy?那么飞呢?襟翼?飙升? – darijan