我正在尋找特定的確切規則來確定如何聲明方法的可見性。這不是語言不可知的,它適用於標準的OOP語言。何時聲明方法爲私有
3
A
回答
4
1
基本上:
- 公共是當該方法必須是可訪問由外部類。像
getState()
就可以放在這裏。 - 私人是當該方法不應該被任何其他類訪問,如
changeState(...)
。通常這涉及對象內容的實際改變 - 也許你會有一個公開的setX(int x)
,只是調用私人setXInternal(int x)
,這樣你可以有額外的類型檢查/安全/等等。爲了安全起見,你可能會把所有事情都變成私有的,直到它必須以其他方式。 - 受保護的基本上是「公立幼兒班,否則私人」。可以去任何一個方面。
0
任何一種不直接定義特定對象行爲但在對象行爲實現過程中很有用的操作是私有成員函數的候選。
1
對於任何類/對象有:
1.東西它(的行爲)
2.它是如何做他們(實現)
世界關心你的對象的行爲。它不應該(經常)關心它如何在引擎蓋下實現這種行爲。保持實現細節私密,並暴露行爲。
0
我認爲公共,受保護和私人關鍵字的幫助只是爲了讓代碼更清晰。
所以你可以使用public來作爲一個類的API,private可以說明如何不擴展一個類並在其他情況下保護它。
一個共同的務實方法是從來沒有使用私人,只使用公共或受保護。
0
作爲公共API的一部分的事物公開。
保護您希望子類能夠調用的非公共功能。
私人,如果你不希望子類與所述方法(或甚至知道它的存在)混在一起。
在C,C++和C#中,如果您希望子類能夠覆蓋它,則不會忘記標記虛擬方法。
相關問題
- 1. Ruby - 私有方法的內聯聲明
- 2. 聲明一個私有方法static
- 3. 如何爲私有方法進行前向聲明?
- 4. 如何聲明公共方法和私有方法在JavaScript
- 5. 如何在TypeScript中聲明私有的抽象方法?
- 6. Runnable在方法中聲明時有效;在方法外聲明時崩潰
- 7. 我是否必須爲類的所有私有方法聲明一個類別?
- 8. DOC聲明時和方法
- 9. PHP OOP在子類中重新聲明私有方法/函數
- 10. 標記一個單例摘要並聲明私有的方法
- 11. Objective-C:我應該聲明私有方法嗎?
- 12. 聲明私有變量的簡短方法
- 13. 在cocoa中聲明私有變量的最佳方法
- 14. 如何聲明一個私有整數?
- 15. 當不依賴實例時,將一些私有方法聲明爲靜態方法是個好主意嗎?
- 16. 方法聲明
- 17. 何時聲明類擴展方法
- 18. 當bean是singleton時,何時將spring bean聲明爲私有靜態?
- 19. 如何在具體類上聲明一個私有方法叫做(TypeMock/NMock/etc ..)?
- 20. C#方法聲明
- 21. Java方法聲明
- 22. C++方法聲明
- 23. 的方法聲明
- 24. 在.m文件的界面部分聲明私有方法有什麼好處?
- 25. 在主內部聲明私有變量
- 26. 聲明靜態私有數組成員
- 27. 聲明私有成員變量
- 28. 私有變量聲明誘導DI
- 29. 在C++中聲明私有變量
- 30. Segmentation Fault聲明類私有變量
你的意思是它*是*語言不可知的,但不是語言特定的。 – mloskot
你能選擇一個答案嗎? – hunter