为什么C#中窗体的各个字段都要设置成private
为什么C#中窗体的各个字段都要设置成private,如果设置成public很多操作都会很容易进行的,比如可以直接将参数赋值给textbox?(如果非要回答因为他是字段,那...
为什么C#中窗体的各个字段都要设置成private,如果设置成public很多操作都会很容易进行的,比如可以直接将参数赋值给textbox?(如果非要回答因为他是字段,那为什么不默认将它设置成属性)
展开
2个回答
展开全部
试想外部真的需要如此频繁地修改本窗口的属性吗?未必,至少其他人没像你这样觉得麻烦。微软都已经替你想到了,所以在属性窗口有Modifier属性。
面向对象编程有很重要的概念就是封装和解耦。按照你的设想,A窗口的控件设置为public,便于B窗口访问,那么你的代码里B窗口必然包含了A窗口的控件的实例,如果两个人分别开发两个窗口,那么B就必须等A开发出来之后才能写B的代码,不然编译都不通过。真的有那么爽吗?再比如你编了个收费软件,某个变量是用来存储是否付费,结果你给弄成public,用户一反编译就看到了,这才叫爽啊。
要在其他位置改窗口属性,用事件触发是推荐的方式。写起来比较麻烦,但不存在上面说的耦合问题。
面向对象编程有很重要的概念就是封装和解耦。按照你的设想,A窗口的控件设置为public,便于B窗口访问,那么你的代码里B窗口必然包含了A窗口的控件的实例,如果两个人分别开发两个窗口,那么B就必须等A开发出来之后才能写B的代码,不然编译都不通过。真的有那么爽吗?再比如你编了个收费软件,某个变量是用来存储是否付费,结果你给弄成public,用户一反编译就看到了,这才叫爽啊。
要在其他位置改窗口属性,用事件触发是推荐的方式。写起来比较麻烦,但不存在上面说的耦合问题。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询