我正在寻找特定的确切规则来确定如何声明方法的可见性。这不是语言不可知的,它适用于标准的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