Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/271.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
除了拥有'外,在c#中使用private/protected而不是public还有什么意义;干净代码';?_C#_Private_Keyword_Public_Modifier - Fatal编程技术网

除了拥有'外,在c#中使用private/protected而不是public还有什么意义;干净代码';?

除了拥有'外,在c#中使用private/protected而不是public还有什么意义;干净代码';?,c#,private,keyword,public,modifier,C#,Private,Keyword,Public,Modifier,除了代码更干净或保持c#的面向对象状态外,使用private/protected代替public真的有什么意义吗?想象一下你是一场音乐会的策划人。场地有舞台区和观众区 组织音乐会有两种方法。第一种方式是允许任何人从任何方向进入或离开观众区或舞台区 第二种方法是通过设置障碍物和入口来控制该区域,防止任何没有门票或安全检查的人进入,并且只允许授权人员进入舞台区域 哪种方法更好?为什么?这可能会被关闭,因为这是一个已经关闭的问题的重复。我的观点:除了与安全相关的代码外,封装的主要原因是您不能信任其他程

除了代码更干净或保持c#的面向对象状态外,使用private/protected代替public真的有什么意义吗?

想象一下你是一场音乐会的策划人。场地有舞台区和观众区

组织音乐会有两种方法。第一种方式是允许任何人从任何方向进入或离开观众区或舞台区

第二种方法是通过设置障碍物和入口来控制该区域,防止任何没有门票或安全检查的人进入,并且只允许授权人员进入舞台区域


哪种方法更好?为什么?

这可能会被关闭,因为这是一个已经关闭的问题的重复。我的观点:除了与安全相关的代码外,封装的主要原因是您不能信任其他程序员(或您未来的自己)。人们以权宜之计为名做傻事。封装起到护栏的作用。(更新:答案更好。)