数据域封装是指将数据域设为私有保护数据,并且使类易于维护。
在某些情况下,数据被易于修改不是一个很好的做法,首先,数据被修改时,可能会被错误的设置为一个错误的值,例如在圆的测试实例中,圆的半径会被设置为负数。其次,这使得类的变的难以维护。
为了避免以上问题,应该使用private修饰符将数据域声明为私有的。
在定义私有数据域的类外的对象是不能访问这个数据域的。但是如果有客户端需要存取,修改数据域的情况,为了访问私有数据域,则提供get方法返回数据域的值,提供set的方法给数据域设置新值,get方法被称为访问器,set方法称为修改器。代码如下:
public class Circle(){
private double radius;
public double getradius(){
return radius;
}
public void setradius(double newradius){
radius=(newradius>=0)? newradius : 0;
}
}