我意识到每个公共接口都必须放在一个单独的文件中。
也许我做错了什么,但这迫使我创建了许多内部几乎没有内容的虚拟文件。
当有人浏览我的包文件夹时,要知道发生了什么,每一秒.java文件都不过是单行公共接口......他会不高兴。
换句话说,对我而言,实际上有一些内容的类似乎会在公共接口虚拟文件的海洋中丢失。
是否有一些策略可以解决这种不便?
编辑:情况描述(和示例):
我正在制作一些游戏。我有许多派生自父GameObject
的类,它实现了一些行为,但不是简单的层次结构。因为java不允许从多个父级继承,所以我必须通过接口来实现。大多数类实现多个接口,但只是所有接口的子集。接口不遵循继承结构。
示例:
class Tank
是MilitaryUnit
的子(实现接口Fighting
),但它也实现了接口Vehicle
,Drawable
,IndustrialProduct
, Tradable
,SaveFileItem
,StringIO
,TableIO
,MouseInteracting
,KeyboardInteracting
等等。
Rifleman
也是MilitaryUnit
的孩子,但未实现IndustrialProduct
,Tradable
和ArmoredTrain
(也是MilitaryUnit
的孩子)确实实施了Train
界面,而Tank
和Rifleman
却没有。
Commodity
等其他类会实现IndustrialProduct
,Tradable
,StringIO
,TableIO
但不会Vehicle
,Drawable
, MouseInteracting
,KeyboardInteracting
所以这种情况可以通过某些表来描述(它指定某个类是否实现某些接口)看起来像这样:
Interface X Y Z W
ClassA 1 1 0 1
ClassB 0 1 1 1
ClassC 0 1 0 1
ClassD 1 0 1 0
答案 0 :(得分:0)
如果您创建的接口只能在一个类中实现,那么接口就没有用处。接口用于为许多类创建必需的函数。当有问题的类不是您想要它的实例(这将是一个子类)时,通常会使用实现,但必须包含您希望通过实现实现的某些值。