ask*_*skd 3 java getter setter encapsulation
当我们使用set和get方法时,这是源代码的示例:
public class Dog {
private String dogName;
private int dogAge;
public Dog(String dogName, int dogAge) {
this.dogName = dogName;
this.dogAge = dogAge;
}
public String getDogName() {
return dogName;
}
public void setDogName(String dogName) {
this.dogName = dogName;
}
public int getDogAge() {
return dogAge;
}
public void setDogAge(int dogAge) {
this.dogAge = dogAge;
}
@Override
public String toString() {
return "Dog{" + "dogName=" + dogName + ", dogAge=" + dogAge + '}';
}
}
Run Code Online (Sandbox Code Playgroud)
为什么我们确实需要在我们的类中使用set和get方法来使用私有属性?
如果你想隐藏实现的细节(封装 - 面向对象编程的基本原则),你不希望外面的人访问它们,你只提供一个返回一些值的方法,但你不想揭示实施.
有时候,当你设置一个值时,你需要更改可能相关的其他变量,或者改变一些逻辑,它并不总是一个简单的赋值语句.
什么时候在我们的程序过程中真正使用它?
回答这个问题非常困难,这真的取决于程序.当你想要获取或设置一个值时,你可以使用setter和getter.
没有它,我们还能让它工作吗?
当然,当你有字段而不是s 时它起作用,在设计意义上,建议始终从变量开始,并且只在你必须时才改变它们.publicprivateprivate
| 归档时间: |
|
| 查看次数: |
1492 次 |
| 最近记录: |