封裝最主要的功能:
在于我們能修改自己的實(shí)現(xiàn)代碼治宣,而不用修改那些調(diào)用我們代碼的程序片段。
適當(dāng)?shù)姆庋b可以讓程式碼更容易理解與維護(hù),也加強(qiáng)了程式碼的安全性。
編程中封裝的具體優(yōu)點(diǎn):
1.提高代碼的安全性对雪,隱藏信息、實(shí)現(xiàn)細(xì)節(jié)
2.提高代碼的復(fù)用性
3.“高內(nèi)聚”:封裝細(xì)節(jié)米绕,便于修改內(nèi)部代碼瑟捣,提高可維護(hù)性
4.“低耦合”:簡化外部調(diào)用,便于調(diào)用者使用栅干,便于擴(kuò)展和寫作迈套。
5.可以對成員變量進(jìn)行更精確的控制
思想:封裝時(shí)間類,json轉(zhuǎn)換碱鳞,分頁類桑李,積累起來后可以打包成一個(gè)屬于自己的jar包
封裝的理解:
比如將下面的age修改為String類型的呢?你只有一處使用了這個(gè)類還好窿给,如果你有幾十個(gè)甚至上百個(gè)這樣地方贵白,你是不是要改到崩潰。如果使用了封裝填大,我們完全可以不需要做任何修改戒洼,只需要稍微改變下Husband類的setAge()方法即可
對應(yīng):在于我們能修改自己的實(shí)現(xiàn)代碼,而不用修改那些調(diào)用我們代碼的程序片段允华。
public void setAge(int age) {
//轉(zhuǎn)換即可
????????this.age = String.valueOf(age);
????}
其他的地方依然那樣引用(husband.setAge(22))保持不變。
到了這里我們確實(shí)可以看出,封裝確實(shí)可以使我們?nèi)菀椎匦薷念惖膬?nèi)部實(shí)現(xiàn)靴寂,而無需修改使用了該類的客戶代碼磷蜀。
我們在看這個(gè)好處:可以對成員變量進(jìn)行更精確的控制。
上面都是對setter方法的控制百炬,其實(shí)通過使用封裝我們也能夠?qū)ο蟮某隹谧龀龊芎玫目刂啤?/b>例如性別我們在數(shù)據(jù)庫中一般都是已1褐隆、0方式來存儲(chǔ)的,但是在前臺(tái)我們又不能展示1剖踊、0庶弃,這里我們只需要在getter()方法里面做一些轉(zhuǎn)換即可。
public String getSexName() {
????????if("0".equals(sex)){
sexName = "女";
????????}
????????else if("1".equals(sex)){
sexName = "男";
????????}
????????else{
sexName = "人妖???";
????????}
????????return sexName;
????}
在使用的時(shí)候我們只需要使用sexName即可實(shí)現(xiàn)正確的性別顯示德澈。同理也可以用于針對不同的狀態(tài)做出不同的操作歇攻。
public String getCzHTML(){
????????if("1".equals(zt)){
czHTML = "啟用</a>";
????????}
????????else{
czHTML = "禁用</a>";
????????}
????????return czHTML;
????}