通过 Getter/Setter 来访问字段,有如下好处:
- Getter/Setter 是函数,允许你检查/处理输入输出,而 Public 的字段不行。
- 通过 Getter/Setter 来访问字段,可以使某字段只读或只写,而字段不行。
因此不论你当前需要不需要上述功能,Getter/Setter 都是(比直接使用字段)更好的选择。
Getter/Setter 在 Java 中需要自己定义,因此会造成大量模板代码。而且还必须通过显式调用 getXxx/setXxx 方法。
而在 C# 中有单独的 Property 类型,可以自动生成默认的 Getter/Setter。而且直接通过 实例.属性
就可以隐式地调用 Getter/Setter.