Import Excel Data into Datatable { private int number; private String name; public void setNumber(int number) { this.number=number; } public void setName(String name) { this.name=name; } public int getNumber() { return number; } public Stri
Import Excel Data into Datatable
{ private int number; private String name; public void setNumber(int number) { this.number=number; } public void setName(String name) { this.name=name; } public int getNumber() { return number; } public String getName() { return name; } }
这样写有某些好处
1.当你要限定属性的范围的时候,不使用封装就没办法阻止使用者输入例外值, 例如你的number只能输入0~100,你可以透过setter来做判断, 不封装的话,使用者就可以自由输入任意数值。
2.容易判断需要修改的程序未在哪个范围, 例如今天我有一个取得某个值的 method,原本使用 array 来实践
但如果改成 linked-list 也许性能比较好?
如果没有将整段程序封装成一个 getter,那可能改这一样东西要在项目里面翻来翻去
找各处有写到这个功能的 code,并且把它改成 linked-list
不过如果一开始就用 getter 封装好了,我只要在 getter 里面把原本的程序注解掉
改成新的 code,整个项目所有用到这个 getter 的地方马上就跟着更新了
这样可以省去很多无谓的时间在搜寻和修改程序。
封装概念好文: http://caterpillar.onlyfun.net/Gossip/JavaEssence/Encapsulation.html
原文:大专栏 封装概念