public class Score {
private String score;
public String getScore() {
return score;
}
public void setScore(String score) {
this.score = score;
}
}
处理一个项目,我找到了这段代码
这段代码的功能很简单,但是如果setter是公共的,我无法理解为什么要将String得分设为私有。对我来说,看起来私密的感觉被公众制定者打破了。
提前感谢您帮助我从新手变成至少一点程序员。
答案 0 :(得分:0)
String
变量。 setter实现可以将其写入数据库,getter将检索它。 String
设置为您想要的任何内容。通过引入setter方法,您可以检查(比如)长度,空值,内容等。上述意味着你可以以一种与界面不同的方式实现你想要的类(想象一下 - 你可以将这些方法抽象为一个接口并提供多个实现,所有这些都以不同的方式运行)。因为它们遵循相同的接口,所以您可以将一个实现替换为另一个实现,而不会更改周围的代码。
我会说(进一步说到这一点)我倾向于不喜欢上述模式。我的理由是,OO的优势在于您可以告诉对象代表您做事,不,以便您可以自己提取字段并使用它们执行自己的逻辑。因此,我倾向于怀疑与字段和setter / getters一起构成字段的类。
答案 1 :(得分:0)
使用了getter和setter,因为如果您决定项目的一半来改变变量的工作方式,或者如果您想要修改原始值,则必须通过代码并更改所有内容调用该公共变量。
但是,使用getter和setter,您只需更改方法中处理变量的方式。
答案 2 :(得分:0)
private
关键字表示声明为的属性或方法
只在课堂上可见。
public
关键字表示声明为此的属性或方法对任何人都可见。
众所周知,这种做法是对信息的封装。公共setter和getter允许程序员控制这些函数的用户可以对你的私有属性做什么。