java中的封裝、繼承、多態可謂是踏入這一行業的必經之檻,諸多新人在不明就裏的狀況下將其各類概念背的是倒背如流。即使是工做多年以後,也不見得能說出個因此然,或許冥冥之中已經寫過無數封裝的代碼,只是近在眼前人不識了。也正是鑑於此,趁着有所心得,螃蟹留個印記,供你們分享與指正。
既然做爲一個安全係數很高的編程語言,內部結構及權限分配必然有着獨到之處,就像是初來乍到就碰到的private、public、protected,一頭霧水,雖然用幾分鐘時間弄的很明白,但之後的很長時間都是處於混亂狀態,直到有一天完全明白了各自的用途及意義,纔不由很滿意的來上一句:擦,原來這麼回事!
下面咱們就經過一個場景看看封裝有什麼做用。
生活中咱們常常見到各類管道,也常常見到換水管的維修工人,拿着圖紙找到位置一陣忙活。水源自哪裏他們能夠不用關心,怎麼可以將新舊管道對接纔是手頭的任務。而java中的封裝也就相似於此,被封裝的類或方法等你能夠不用關心它是怎麼實現的,即使你關心也沒有用,能作的就是按它的要求使用它。就像咱們按照協議組織了一個報文,就像咱們經過一個指令調用了某一個表的數據,全部的實現過程都被掩蓋了起來,而咱們依然能夠經過某些參數調用並返回咱們想要的結果,這是否是像極了咱們所說的接口?
看看微信開發平臺,想一想IOS客戶端,這都是一些封裝的例子。平時咱們一談起封裝就會想起private的setter和getter,沒錯,這是最經典的一種實現,但若是咱們的認識只侷限於此,是否是真把java當咖啡了?
封裝它是一種很美的結構體,它徹底能夠按照你的意願來進行編寫,若是你設置的權限足夠小,它甚至不能生成API接口,javadoc那都是浮雲?想一想,假若有一個很大很成熟的系統,若是咱們想借用它只能經過你封裝的這一條路的時候,是否是很酷的感受?
每當想起明天上班還要簽到,對封裝的抵觸便油然而生。。。html
做者專欄:java下午茶java