【发布时间】:2014-04-30 23:40:18
【问题描述】:
我正在用 C#/XNA 开发一个带有库存系统的游戏。我的计划是让库存存储基类 Item。派生自 Item 的是 Equipment 类(和其他类)。派生自 Equipment 类的是 Gun 类(和其他类)。 Item 有一个包含其类型(装备、工艺等)的枚举,而 Equipment 类有一个包含其类型(枪、盔甲等)的枚举。使用来自类型枚举的信息时——例如从物品栏中将一把枪扔到世界上——从物品投射到装备,然后从装备投射到枪,它会起作用吗?
【问题讨论】:
-
只需从
Item转换为Gun,只要项目是 枪,就可以正常工作。 -
或者更好的是,只依赖多态性。
-
当然。是什么让您认为它不会,为什么不尝试一下?
-
正如@Ben 所说,您应该依赖多态性。让基类包含一个指定其类型的枚举在现代编程中确实是倒退。
-
我想我有一些学习要做。