使用getter和setter的优点是什么 - 只能获取和设置 - 而不是简单地使用公共字段来存储这些变量?
如果getter和setter做的不仅仅是简单的get/set,我可以非常快地解决这个问题,但我并不是100%清楚如何:
public String foo;
Run Code Online (Sandbox Code Playgroud)
更糟糕的是:
private String foo;
public void setFoo(String foo) { this.foo = foo; }
public String getFoo() { return foo; }
Run Code Online (Sandbox Code Playgroud)
而前者需要很少的样板代码.
我认为标题说明了一切.也许我应该问:不使用方法返回变量或其值是不是很糟糕?一个例子是带有x和ay变量的2-d点类.
使用myPoint.x获取x变量而myPoint不是myPoint.xValue()简单返回有mypoint.x什么问题吗?
在我的 CS 课程中,我只是在学习课程和 OOP。
因此,当您创建一个类时,您会初始化一定数量的私有变量。
我知道您将它们设为私有,因为如果它们是公开的,它们将很容易更改并可能导致很多错误。
所以我们使用 get 和 set 方法来改变变量。但这再次使变量很容易改变,对吗?那么首先将它们设为私有有什么意义呢?