本文借鑒《大話設(shè)計(jì)模式》,算是對(duì)自己學(xué)習(xí)的總結(jié),也希望分享下所學(xué)知識(shí)~~
里氏替換原則(LSP):子類(lèi)型必須能夠替換掉它們的父類(lèi)型绘面。
一個(gè)地方如果使用的是父類(lèi)的話砰奕,那么一定適用于其子類(lèi)憨奸,而且它察覺(jué)不出父類(lèi)對(duì)象和子類(lèi)對(duì)象的區(qū)別臣疑。
在軟件里面嫩码,把所有的父類(lèi)替換成它的子類(lèi)蜻牢,程序的行為沒(méi)有變化向拆。
說(shuō)白了就是:
子類(lèi)型能替換父類(lèi)型亚茬。
也正是因?yàn)樽宇?lèi)型的可替換性,才使得使用父類(lèi)類(lèi)型的模塊在無(wú)需修改的情況下就可以擴(kuò)展浓恳。
Animal animal = new Dog();//new Cat() ... 等等
animal.Eat();
animal.Move();
animal.Sleep();