问一个很傻很天真的问题??? 我们常用的private,public等来声明类,变量,方法,我就有点不明白了,我们何不把所有的类,方法,变量都声明成public,反正自己写的代码,全部暴露出来也不影响程序正常使用。疑问就是声明成public,private,他们驻留在内存中是不是不一样? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 不希望public的地方有很多,有时候需要private,有时又需要internal。 全写public可以啊,但至少还有private protected internal这些做为可选,类之间的封闭,形成了与以往结构化程序不同的 思想,在维护,组件化等工作,或思想中起到重要作用。一锅粥式的程序,让业务概念更模糊,边界,职责不清晰,为程序埋下各种隐患,在可复用性,可维护性等方面,也暴露处种种不足,所以...才有面象对象以对付,原来结构化程序时代所产生的软件危机。 大家都可以很天真的认为所有的东西都是public的,你的就是我的,我的还是我的。这不就乱了吗?所以,必须要有非public的东西。 看来楼主对编程语言了解的很肤浅,public和private是要根据自己要实现的功能而定的,建议楼主把自己写的代码中private都改成public运行下,看看和之前的运行结果有什么区别,那样会让你有切身体会~ 问题是现代的软件的开发往往不是一两个人完成的,需要大量的协作,这时Private,public的访问级别划分就很有必要了。 人也有隐私的 代码也是也有不想被外界知道和看到,修改的部分这就需要public之外的修饰符了 那用struct就可以了,全是public 你可以做很多事,比如说可以写个网站,还可以帮女朋友做个菜,也可以自己存点私房钱,老板可以调用你写网站,就好比是Public你朋友叫你做菜,因为是同一个家庭的事,所以好比是internal自己存私房钱,当然就是private 如果你类里有10个成员变量,这样的类有10个,使用的时候需要记住这100个变量,换人维护的时候或合作开发时候就痛苦了。巴不得接口越少越利于沟通。自己用就没所谓,反正代码没别人看。你爱怎么发挥都可以,不用面向对象思想,压根吧c#当vb6的c语言版也行。 我给你举个例子。假设:所有代码都是你自己来完成,以后也不会有人参与到你的项目中,会出现这种情况:你的A类调用B类的 方法1,B类的 方法1 调用 B类 方法2 才可以完成方法1任务,而A类无需调用B类的 方法2;如果两个方法全都Public,方法2会在A类调用B类时可见(比如在VS开发环境中打.就会出现),这样即使自己写代码,也很乱,明明用不到方法2,可方法2出现了,带来的麻烦就是找方法1也不容易。这只是两个方法,如果方法多了,方法命名也是个问题,全部Public至少会在这里造成混乱。这种现象在方法重载上比较常见。 这样看起来似乎在降低阅读程序的复杂度上也很必要,假如都是public那么协作项目的每个成员,要看到多很多与自己无关的变量 安全问题protected 保护变量 前台后台都能用private 就后台能用public 前后台都能用,别的页面也能用我的理解是这样, 可能是错的,,多多指导。 想的也没错.只是你没把自己灌输进OOP思想而已.让自己的思想没有束缚,其实也不是坏事. 楼主你的意思是自己练习的时候全写public,应该是没有问题的, 但平时养成好的习惯不是更好么。就像楼上很多人说的全裸了一个人在家里,谁看你啊。出门了别忘记把衣服穿上。你问了个很新手的问题,却被一些自以为动了私有和共有就了不起的人骂成XX了,真可怜,不过他们更可怜。 呵呵,可以,绝对可以,全部Public static 都可以,但是后果十分的严重,严重到你会丢饭碗。"疑问就是声明成public,private,他们驻留在内存中是不是不一样?"驻留是一样,但是生命周期不一样。 教材不是说清楚了,吗看来得给你一条限定不能写重复的代码这一点你能做到吗包括类的设计比如:一个医务有了name属性 那院长就类,就不能写这个 字符数组查询问题 关于.NET中2合1的问题 DataGrid以外的Button按钮控制DataGrid内的控件的显示与隐藏 获取文件类型和文件的图标 初看C#问个简单的问题 C#查询XML中符合条件的元素返回一个DataTable 新手入门 求VS C# 的教程 C#中获取硬件设备序列号 操作文本文件. 怎么使用鼠标在窗体上画直线? 一个数字占多个字节 每个字节该如何表示 求一正则表达式
这不就乱了吗?
所以,必须要有非public的东西。
代码也是
也有不想被外界知道和看到,修改的部分
这就需要public之外的修饰符了
我给你举个例子。
假设:所有代码都是你自己来完成,以后也不会有人参与到你的项目中,会出现这种情况:
你的A类调用B类的 方法1,B类的 方法1 调用 B类 方法2 才可以完成方法1任务,而A类无需调用B类的 方法2;如果两个方法全都Public,方法2会在A类调用B类时可见(比如在VS开发环境中打.就会出现),这样即使自己写代码,也很乱,明明用不到方法2,可方法2出现了,带来的麻烦就是找方法1也不容易。
这只是两个方法,如果方法多了,方法命名也是个问题,全部Public至少会在这里造成混乱。
这种现象在方法重载上比较常见。
protected 保护变量 前台后台都能用
private 就后台能用
public 前后台都能用,别的页面也能用我的理解是这样, 可能是错的,,多多指导。
让自己的思想没有束缚,其实也不是坏事.
就像楼上很多人说的全裸了一个人在家里,谁看你啊。出门了别忘记把衣服穿上。
你问了个很新手的问题,却被一些自以为动了私有和共有就了不起的人骂成XX了,真可怜,不过他们更可怜。
驻留是一样,但是生命周期不一样。
看来得给你一条限定
不能写重复的代码
这一点你能做到吗
包括类的设计
比如:一个医务有了name属性
那院长就类,就不能写这个