Java/C# 中为何需要 Getter/Setter?

通过 Getter/Setter 来访问字段,有如下好处:

  1. Getter/Setter 是函数,允许你检查/处理输入输出,而 Public 的字段不行。
  2. 通过 Getter/Setter 来访问字段,可以使某字段只读只写,而字段不行。

因此不论你当前需要不需要上述功能,Getter/Setter 都是(比直接使用字段)更好的选择。

Getter/Setter 在 Java 中需要自己定义,因此会造成大量模板代码。而且还必须通过显式调用 getXxx/setXxx 方法。

而在 C# 中有单独的 Property 类型,可以自动生成默认的 Getter/Setter。而且直接通过 实例.属性 就可以隐式地调用 Getter/Setter.

posted @ 2020-01-31 15:13  於清樂  阅读(...)  评论(...编辑  收藏