里氏替換原則,英文名稱為L(zhǎng)iskov Substitution Principle,縮寫(xiě)為L(zhǎng)SP。它是由Barbara Liskov提出红符。
定義為:如果對(duì)每一個(gè)類型為T(mén)1的對(duì)象O1,都有類型為T(mén)2的對(duì)象O2伐债,使得以T1定義的所有程序P预侯,在所有的對(duì)象O1都替代為O2時(shí),程序P的行為并沒(méi)有變化泳赋,那么類型T2是類型T1的子類型雌桑。
也就是說(shuō):把基類都替換為子類,程序依然正常運(yùn)行祖今。
在運(yùn)用里氏替換原則的時(shí)候,盡量將一些需要拓展的類或存在變化的類設(shè)計(jì)為抽象類或者接口拣技,并將其作為基類千诬,在程序中盡量針對(duì)基類對(duì)象進(jìn)行編程。由于子類繼承基類并重寫(xiě)基類的方法膏斤,在程序運(yùn)行時(shí)徐绑,子類對(duì)象可以替換基類對(duì)象,如果需要對(duì)類的行為進(jìn)行修改莫辨,可以通過(guò)擴(kuò)展基類來(lái)增加新的的子類傲茄,而無(wú)需修改使用該基類對(duì)象的代碼。