在之前的代码讲解中,我们将一类事物封装成一个类,再去创建一个相应的对象去调用方法完成相应的操作这是非常方便的,但是在之前的代码我们发现,对象不仅仅能调用类中的方法,还可以访问到该类中的成员变量并进行赋值,在点坐标中只要是int类型的值我们都取值,这是因为坐标的涵盖数值是非常广的,那么如果一个类的成员变量是其他含义,那么对值的随意改变就是不合理的了,比如如果一个成员变量是为年龄(age),那么年龄的取值范围是从0岁到100岁的(假设最大为100),那么我们如果将age的成员变量的修饰权限还定义为public的话此时是不符合常理的,这样会在后续的代码在运行的过程中 会偏离预期结果 甚至会出错,而且后期也会很难维护。有人可能会说在赋值的时候加上一个判断,这样就可以避免了,这是一个好的想法,但是如果在主函数中加上判断,这样的面向对象是没有任何意义的,因为我们面向对象的思想是调用方便,尽量减少在主函数中的操作,那么我么应该在哪儿加呢?
访问器、修改器
这里应该将成员变量进行私有化修饰,这样外界就不会访问到了,避免了对数据域的直接修改,那称 为数据域封装,么如何可以进行合理的修改呢?为了能够访问私有数据域,可以提供一个 get 方法返回数据域的值。为了能够更新一个数据域,可以提供一个 set 方法给数据域设置新值。get 方法也被称 为访问器(accessor), 而 set 方法称为修改器(mutator),这样在修改器中加上判断条件是很合理的,那么具体怎么实现呢?声明如下:
public 返回值类型 get+成员变量名首字母大写(){ //访问器一定有返回值