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