上篇文章我们讨论了面向对象中封装的概念,最后我们演示一个“方法公有但变量私有,然后通过方法访问变量”的例子。其实这种操作很常见,之前介绍构造方法时我们说过,构造方法的主要目的就是初始化成员变量。现在由于封装概念的引入和确保代码安全的目的,成员变量需要在某些时候变成私有的,这时我们可以考虑通过介入方法来给变量赋值。比如看下面的程序:
程序里有Test和Person两个类,也因为是两个类,name又被声明为private,所以你无法在第22行实例化对象时我传入name参数初始化,这点上篇文章已经讨论过了。因此我通过setVariable()方法将它传入再访问成员变量name。打印的时候调用getVariable()方法将成员变量name输出。你看,setVariable()和getVariable()互相配合,一个负责赋值,一个负责取值。我们可以再多加几个成员变量:
顺便我也把set和get方法的名称和成员变量一一对应上,一点都不乱。通过set方法我们可以去赋值或是修改值,证明这个对象拥有对成员变量的可写属性,又可以通过get方法一个个把值取出从而拥有对该变量的可读属性。这种读写属性体现了封装的特点,以后的案例中我们会经常使用。
这篇文章的源代码在Properties中。
网友评论