此時(shí)我們需要明確一個(gè)概念:代碼運(yùn)行正確,但是不代表符合業(yè)務(wù)邏輯,這樣的代碼我們一般會說代碼處理不合法!
2. 實(shí)現(xiàn)封裝的過程
對于上面這樣的問題,我們應(yīng)該怎么處理呢
常規(guī)的方案就是:
定義一種這樣的屬性,屬性只有在當(dāng)前類的內(nèi)部可以訪問
類的外部不能訪問這個(gè)屬性,只能通過類提供的方法來進(jìn)行屬性的取值和賦值
在取值或者賦值的方法中,就可以添加一定的限制處理的代碼了
我們從上面的代碼中已經(jīng)看到了,可以通過函數(shù)操作的形式來進(jìn)行屬性的處理
但是某些情況下,函數(shù)操作的形式并不是特別美妙,我們突發(fā)奇想~想再提供了set/get訪問方法的情況下,對屬性的操作還能像以前那樣直接賦值或者取值進(jìn)行操作
此時(shí),你還能在不看原來類型定義中的get/set,區(qū)分出來name是否是Person類型的屬性還是方法呢?
> 封裝的注解方式,在一定程度上,能隱藏我們方法在底層的實(shí)現(xiàn),讓調(diào)用者的操作變得簡單。但是同時(shí)也降低了代碼的可讀性,后續(xù)的操作中,我們還是遵循原來封裝的操作方案將類的屬性私有化,提供set/get方法進(jìn)行屬性的操作。