为什么不公开所有字段/属性/方法?
我知道这可能听起来很愚蠢,但我真的很想知道:)
即时学习c#,
如你所知,你需要设置“对象”(按钮,标签,文本,变量等)公开或任何你喜欢的。
但是,您仍然需要编写如下代码:
// my point is you cant just type label1.text you need to type class.label1.text
// so there is no chance of getting bugged
//because there is label1 in each of forms/classes
class Classlol = new class();
classlol.label1.blabla
那么以其他形式使其无法达到的重点是什么?为什么每件事都不公开或默认不公开?
谢谢。
没有找到相关结果
已邀请:
4 个回复
蔬谢窗港
咖哀烈
访问修饰符。 VB.NET(
)中使用的名称可能更清晰。这表示一个数据应该对单个程序集中的所有其他类可见,但是从外部隐藏。类似的类比也适用:有些东西可能与你最亲密的朋友分享,但仍然不想公开。 还有其他更复杂的原因,比如启用信息隐藏,最大化特定类与应用程序其余部分之间的分离,并维护一致的公共接口,即使版本之间的实现细节可能已更改,所有这些都有助于良好的面向对象设计。如果你真的想了解这个细节,我建议你找一本关于面向对象编程的好书。如果不是不可能的话,掌握像C#这样的面向对象语言是非常困难的,而不需要对基础知识有充分的了解。 默认情况下,这些内容不公开,因为它们可能包含敏感信息,或者至少是您不希望作为类的公共接口的一部分公开的信息。将事物公之于众是一个更大的决定,风险更大,而不仅仅是将其设为私有,因此您必须明确做出决定。
纫合峭
室邢
,这意味着它在同一个程序集中是公共的,在程序集外部是私有的。 如果要将某些数据公开为公共数据,例如某些Label的文本,最佳做法是创建公共只读属性,如下所示:
要访问它,您必须使用此类代码:
这样,Label本身不公开,但每个人都可以阅读其文本。