class Point{
public double x;
public double y;
}
由于这种类的数据域是可以被直接访问的,并且没有提供封装的功能。如果不改变API,就无法改变他的数据域表示法,也无法强加任何约束条件,当域被访问的时候,无法采取任何辅助的行动。
我们可以使用包含私有域和公有访问方法(getter)、公有设置方法(setter)的类替代。
class Point{
private double x;
private double y;
public Point(double x,double y){
this.x = x;
this.y = y;
}
public double getX(){
return x;
}
public double getY(){
return y;
}
public void setX(double x){
this.x = x;
this.y = y;
}
}
网友评论