当前位置 : 主页 > 手机开发 > 其它 >

封装概念

来源:互联网 收集:自由互联 发布时间:2021-06-19
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

原文:大专栏  封装概念

网友评论