02-談?wù)劽嫦驅(qū)ο蟮娜筇卣?/h2>

封裝,繼承,多態(tài)

封裝

類,封裝了數(shù)據(jù)(屬性)和行為(方法)

狹義的封裝:就是創(chuàng)建一個(gè)類,屬性私有化,提供getter和setter方法,并且提供一個(gè)無參的構(gòu)造方法(標(biāo)準(zhǔn)的javabean)

廣義的封裝:

比如一個(gè)Random類提供了一個(gè)獲取隨機(jī)數(shù)的方法,

比如,一個(gè)封裝了工具類的jar包,內(nèi)部的工具類實(shí)現(xiàn)細(xì)節(jié)對(duì)使用者是透明的。

再比如,一個(gè)連接池框架,一個(gè)持久層框架,等等這些都是封裝

繼承

復(fù)用,對(duì)同一類事物的共同點(diǎn)做一個(gè)抽取

舉例:

在開發(fā)中,需要對(duì)持久層進(jìn)行操作,里面有些通用性的操作,比如常規(guī)的增刪改查,所以就可以把這塊常規(guī)操作抽取出來

于是,就是有了BaseDao,同理,有了BaseService。

我們具體業(yè)務(wù)Dao,比如UserDao只要繼承BaseDao,剩下只需要寫額外擴(kuò)展的方法即可。

多態(tài)

父類引用指向子類對(duì)象,指向不同的子類對(duì)象,就有不同的表現(xiàn)(指程序在運(yùn)行期間,表現(xiàn)出多種狀態(tài))

舉例:

IUserDao userDao;

比如在Service層,聲明的是IUserDao,那么具體由Spring容器來實(shí)現(xiàn)注入,從而實(shí)現(xiàn)解耦。

再比如,方法的參數(shù)類型,我們一般也定義為父類型,調(diào)用時(shí),傳入具體的子類對(duì)象。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容