为什么在c#中使用"public"不好

Ree*_*son -7 c#

所以前几天我被告知在c#中使用public是不好的,所以说我创建了一个新类,并且在该类中我有一个方法,为什么最好将它声明为

private void nameOfMethod()
Run Code Online (Sandbox Code Playgroud)

而不是

public void nameOfMethod()
Run Code Online (Sandbox Code Playgroud)

我只是好奇,似乎无法在任何地方找到答案,那个告诉我不要使用公共错误的人?任何帮助,将不胜感激

编辑 我理解公共私人和受保护之间的区别完全正常,我只是想知道为什么我被告知最好避免公开

Dir*_*mar 5

publicvs 的使用private指的是面向对象编程的关键概念之一:封装或信息隐藏.

封装意味着对象的内部表示通常在对象定义之外的视图中隐藏.通常,只有对象自己的方法才能直接检查或操作其字段.

隐藏对象的内部通过阻止用户将组件的内部数据设置为无效或不一致状态来保护其完整性.封装的一个假设好处是它可以通过允许开发人员限制软件组件之间的相互依赖性来降低系统复杂性,从而提高健壮性(参见Wikipedia上的封装).

通常,如果要在对象外部使用方法或属性,则将其设为public,如果对象仅在内部需要,则为private.

  • @ReeceHewitson这个人可能试图传达的想法是你应该只暴露(制作公开的)系统中其他参与者使用的想法.他们可能试图帮助您编写只有一个责任的代码.具有5种公共方法的班级是一个很好的候选人,可以考虑承担太多责任.职责较少的类往往更加模块化,可插入系统中的位置. (3认同)