2014-11-06 83 views
-1

我正在研究需要幾個輔助方法的類。這個方法將僅被這個類使用。所以我想知道哪個是最好的做法,即將這些輔助方法聲明爲私有方法還是將它們分組並放入內部類中。私有方法或內部類

+0

創建內部類的條件與一個普通的班級:有一組數據和操作可以自然地組合在一起? – SJuan76 2014-11-06 08:09:36

回答

1

你必須問自己一些問題:

  • 你肯定的是,未來這些輔助方法不會被其他類使用?
  • 這些輔助方法的邏輯真的屬於這個類嗎? (高凝聚力)

如果兩個答案都是肯定的,那麼繼續並將它們放入該類。但是你明確地懷疑,所以可能你應該把他們放在另一個班級。

0

它僅取決於抽象原則:如果使用「服務」方法,例如對一個類的活動實例進行計數的方法,最好將它們聲明爲私有實例(在本例中爲靜態實例) :

private static count() { 
    counter++; } 

如果你有一個內部類,這些方法似乎是由內部類所代表的對象執行功能或動作,你應該有申報。但是因爲在我看來,你已經在你的主類中有一個內部類(你正在討論將這些方法分組到一個新的內部類),所以我會明確地將這些方法聲明爲私有的,如果你確信主類是這些方法的正確位置(考慮抽象原理),其他類將不會使用這些方法(當然,您可以隨時更改可訪問性)