Ypn*_*ypn 11 java inner-classes
我了解到当对象与另一个对象紧密关联时,将使用内部类.因此LinkedList类可能包含内部Node类,因为每个Node仅存在于其LinkedList中.
我正在考虑制作一个游戏,并且正在考虑制作一个Map对象,其中包含一个双层Tiles,其中每个Tile都是一个内部类.
但后来我认为,Map类应该是Game类中的内部类.
因此,我们有
class Game {
class Map {
Tile[][] grid;
class Tile {
...
}
...
}
class Unit {
...
}
class Player {
...
}
...
}
Run Code Online (Sandbox Code Playgroud)
然而,这似乎过多,因为它只会导致一个庞大的文件.这是一个问题吗?还是我完全误解了内部阶级的观点?
在选择使你的新类内部或外部时应该考虑哪些因素,如果选择是内部的,那么内部类何时应该static?
何时使用内部课程既是艺术,也是科学.基本上看看你的代码文件有多大以及每个类的大小.如果一个类很大而且很复杂,它应该放在它自己的文件中.如果它很小(例如,侦听器接口的单个函数实现)并且在其他地方重新使用,那么它应该是一个内部类.
事实上,重复使用可能是最重要的标准之一.任何可以重复使用的东西都应该重复使用,并且应该适当地确定范围以实现这一点.
内部类的一个重要优点是它们可以帮助封装,保持内部类的内部实现.如果其他类不需要知道你的内部类(或者在某些情况下甚至存在它们),那么这就是他们内心的一个很好的理由.
| 归档时间: |
|
| 查看次数: |
1185 次 |
| 最近记录: |