Tag: #java oop

什么时候使用公共领域是有意义的?

这是我现在有一段时间的问题: 什么时候公开公开这个领域是有意义的? public class SomeClass() { public int backing; } 这样做的缺点(除了激怒OOP精英)之外,如果您需要在此数据之上添加任何逻辑,则必须对API进行重大更改。 我想这就是精英主义者所关注的。 Java和C#的最佳实践一直是使用getter / setter或属性来访问字段。 public class SomeClass() { private int backing; public int getBacking() { return backing; } public void setBacking(int v) { backing = v; } } C#已将其演变为具有自动属性的非常简单的语法: public class SomeClass() { public int Backing { get; set; } } 懒惰我仍觉得这太长了,因为我发现自己做了很多事情。 更重要的是,我不确定我知道公共领域会更有意义。 为什么不直接将公开声明的字段视为幕后的属性(或方法)? […]