这是一个后续到我这里问的问题是:类层次结构 - 在RPG游戏,类重叠(VB.Net)数据设计
Class Hierarchy - Data design in an RPG Game (VB.Net)
我明白在后回答上面,这顺便说一句,绝对是惊人的。这是关于实现与类的接口。但是,如果一个班级需要与另一个班级共享功能呢?
是的,该类可以一个接口。但是,让我们使用这个示例定义。
的项目可用于或EQUIPPED
设备齐全的ITEM可以是铠装或武器
A中使用ITEM任医治队,演员MAGIC,或者损坏对方球队。
某些装备项目可以作为使用项目。
某些装备物品可以施放魔法。
或者,换言之:
一种可装备项目可以在其典型的屏蔽或武器的使用之外执行动作。但并不是所有的物品都可以作为护身符或武器。
我的意思是,我可以创建一个实现IWeapon,IShield,IMagic,IUseableItem等的类。但是,当调用这些接口时,应该有比返回NULL更好的方法。
但是我不需要三班吗?一个实现/继承IEquippable的类,一个实现/继承IUsable的类,一个继承两者以实现两者?或者让我们说一个班级使用魔法,可装备和可用? – 2010-08-19 04:22:18
@Jeffrey:是的,您需要为不同类别的对象使用不同的类。这大致是面向对象设计的概念。如果你打算把所有东西都放到一个“Item”类中,那么首先定义这些接口就没有意义了。 – 2010-08-19 04:27:35
好的,谢谢。 :) – 2010-08-19 04:31:13