【发布时间】:2015-12-08 22:08:17
【问题描述】:
我意识到每个公共接口都必须放在一个单独的文件中。
也许我做错了什么,但这迫使我创建许多内部几乎没有内容的虚拟文件。
当有人浏览我的包文件夹,想知道发生了什么,而每一秒的 .java 文件都只是单行公共界面......他会不高兴。
换句话说,在我看来,实际上有一些内容的类将在公共接口虚拟文件的海洋中丢失。
是否有一些策略来解决这种不便?
编辑:情况描述(和示例):
我正在制作一些游戏。我有很多从父 GameObject 派生的类,它们实现了一些行为,但不是简单的层次结构。因为java不允许从多个父类继承,所以我必须通过接口来实现。大多数类实现了多个接口,但只是所有接口的一个子集。接口不遵循继承结构。
示例:
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
【问题讨论】:
-
这听起来不对,但除非您举一些例子说明您的意思,否则我们无法帮助您。
-
不知道你想问什么具体问题
标签: java interface packaging organization