法則1:優(yōu)先使用(對(duì)象)組合,而非(類)繼承
法則2:針對(duì)接口編程,而非(接口的)實(shí)現(xiàn)
法則3:開(kāi)放-封閉法則(OCP)
法則4:Liskov替換法則(LSP)
Liskov替換法則(LSP)清楚地表明了ISA關(guān)系全部都是與行為有關(guān)的。
為了保持LSP(并與開(kāi)放-封閉法則一起),所有子類必須符合使用基類的client所期望的行為。
一個(gè)子類型不得具有比基類型(base type)更多的限制,可能這對(duì)于基類型來(lái)說(shuō)是合法的,但是可能會(huì)因?yàn)檫`背子類型的其中一個(gè)額外限制,從而違背了LSP!
LSP保證一個(gè)子類總是能夠被用在其基類可以出現(xiàn)的地方!