我知道OOD中的经验法则是最大限度地减少对给定对象的所有成员的访问权限,因为这可以合理完成。C#vs Java中的访问修饰符最佳实践
C#和Java似乎都实现了同一组访问修饰符;然而,现在困扰我一段时间的东西是为什么Java类似乎大部分被声明为公共的,而C#类似乎大部分被声明为默认类。这些语言强加了这些差异还是有一些微妙之处,还是仅仅是一个约定或什么?
我发现自己经常通过我的C#代码(除了内部类,匿名类和其他类的狭义范围和有用性外,我习惯性地将大多数类公开,除了内部类,我可能会错过重要的事情。
(所有评论与它关闭的不完整的事实有关;我删除了它们,因为它们现在没有添加任何关于该问题已修复并重新打开的问题) – 2009-08-18 19:45:29