繁体   English   中英

“所有成员变量的Getter和Setter方法”是什么意思?

[英]“Getter and Setter methods for all the member variables” what does it mean..?

在我想要的项目中,所有成员变量的Getter和Setter方法。 我怎样才能做到这一点? 这是什么意思? 以下是我要使用getter和setter方法的代码

public abstract class Connection {
int previousReading;
int currentReading;
float[] slabs;
public Connection(int currentReading, int previousReading,float slabs[])
{
    this.currentReading = currentReading;
    this.previousReading = previousReading;
    this.slabs = slabs;
}
public abstract float computeBill();

}
public class Connection {

private int previousReading;
private int currentReading;
private float[] slabs;
public Connection(int currentReading, int previousReading,float slabs[])
{
    this.currentReading = currentReading;
    this.previousReading = previousReading;
    this.slabs = slabs;
}
public int getPreviousReading() {
    return previousReading;
}
public void setPreviousReading(int previousReading) {
    this.previousReading = previousReading;
}
public int getCurrentReading() {
    return currentReading;
}
public void setCurrentReading(int currentReading) {
    this.currentReading = currentReading;
}
public float[] getSlabs() {
    return slabs;
}
public void setSlabs(float[] slabs) {
    this.slabs = slabs;
}

}

为了实现所需的设计,您需要遵循封装概念(也称为“ 数据隐藏 ”),这是基本的OOP概念之一。 封装的含义基本上是将变量包装在访问器方法(称为getter和setter)中,以便将其从其他类中隐藏。 只能通过那些getter和setter而不是直接访问变量。

为了实现这一点:

  1. 将一个类的变量声明为私有。
  2. 提供公共的setter和getter方法来修改和查看变量值。

例:

public class Person {

private String name;
private int age;

public String getName() {
 return this.name;
}

public String setName(final String name) {
this.name = name;
}

public String getAge() {
 return this.age;
}

public String setAge(final String age) {
this.age = age;
}
}

为什么我们需要封装?

使用封装,我们可以:

  1. 控制变量的允许访问器(通过将访问级别声明为受保护/公共)。
  2. 限制可以存储在字段中的值。
  3. 修改字段后执行操作(执行验证,触发事件,调用另一个方法)。
  4. 更改数据表示形式(转换输入数据类型)。
  5. 使用同步提供线程安全。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM