2014-11-06 71 views
-1

我正在研究需要几个辅助方法的类。这个方法将仅被这个类使用。所以我想知道哪个是最好的做法,即将这些辅助方法声明为私有方法还是将它们分组并放入内部类中。私有方法或内部类

+0

创建内部类的条件与一个普通的班级:有一组数据和操作可以自然地组合在一起? – SJuan76 2014-11-06 08:09:36

回答

1

你必须问自己一些问题:

  • 你肯定的是,未来这些辅助方法不会被其他类使用?
  • 这些辅助方法的逻辑真的属于这个类吗? (高凝聚力)

如果两个答案都是肯定的,那么继续并将它们放入该类。但是你明确地怀疑,所以可能你应该把他们放在另一个班级。

0

它仅取决于抽象原则:如果使用“服务”方法,例如对一个类的活动实例进行计数的方法,最好将它们声明为私有实例(在本例中为静态实例) :

private static count() { 
    counter++; } 

如果你有一个内部类,这些方法似乎是由内部类所代表的对象执行功能或动作,你应该有申报。但是因为在我看来,你已经在你的主类中有一个内部类(你正在讨论将这些方法分组到一个新的内部类),所以我会明确地将这些方法声明为私有的,如果你确信主类是这些方法的正确位置(考虑抽象原理),其他类将不会使用这些方法(当然,您可以随时更改可访问性)