我需要爲我的班級做一個java程序。 我做到了,效果很好。接口類與類
在我的代碼中,我有一些私有方法。我是否需要構建一個接口類來隱藏這些私有方法,或者它們可以與公共方法在同一個類中?
目前(公共和私人)所有方法都是在同一個班,但我的同事堅持認爲我需要創建一個接口來隱藏私有方法
我需要爲我的班級做一個java程序。 我做到了,效果很好。接口類與類
在我的代碼中,我有一些私有方法。我是否需要構建一個接口類來隱藏這些私有方法,或者它們可以與公共方法在同一個類中?
目前(公共和私人)所有方法都是在同一個班,但我的同事堅持認爲我需要創建一個接口來隱藏私有方法
不,你並不需要創建一個接口。如果你只是通過接口使用這個類,那麼一個接口會將它們隱藏得更多(從人們的眼中,而不是從代碼),但即使沒有接口,私有方法也不會被其他類使用。
如果您想完全實施「代碼到接口」指南,您可以聲明interface
爲您的public
方法實施。
你絕對不能做的是在接口中聲明方法,然後在你的類中實現它們作爲private
- 這會降低可見性,甚至不能編譯。
最終private
方法僅限於您的類的範圍。
這可能有助於重複「什麼是接口的目的?」
是:「什麼的,至於其他人應該關注的,這個事情正式申報‘給’,‘需要’和‘做’。」
所以...如果一個客戶端類想要處理「實現這個接口的東西」,以及其他五個類(無,其中包括彼此的兄弟姐妹或祖先......),各自以自己的方式這樣做,然後:五個中的任何一個都可以兼容。爲什麼?因爲它們提供接口所需的所有屬性和/或方法。 (這就是「實施」的意思。)
這些都沒有暴露客戶的任何「私人事物」。實際上,一個界面絕對沒有說這個類如何實際上做它所要做的事,也不知道其他它做什麼。 「滿足界面的要求,你就可以得到這份工作。」
就這樣我們很清楚,接口不允許私人成員。 –