目錄
簡介:
作用:
過程:
總結(jié):
簡介:
里式替換原則(Liskov Substitution Principle,簡稱LSP)的提出者是美國計算機科學(xué)家Barbara Liskov。Barbara Liskov是一位計算機科學(xué)家,麻省理工學(xué)院教授,也是美國第一個計算機科學(xué)女博士,師從圖靈獎得主John McCarthy教授,人工智能概念的提出者。她在1986年的一篇論文中首次提出了這個原則,并在隨后的研究中對其進行了進一步的闡述和推廣。
作用:
1.維護性
子類可以完全替換父類,使得代碼的維護更加容易。因為如果子類無法替換父類,那么當(dāng)父類發(fā)生變化時,子類也需要進行相應(yīng)的修改,這樣就會增加代碼的維護難度。
2.可擴展性
子類可以繼承父類的屬性和方法,并且可以添加自己的屬性和方法,從而擴展了父類的功能。這樣,當(dāng)需要增加新的功能時,只需要在子類中添加相應(yīng)的屬性和方法即可,而不需要修改父類,這樣就提高了代碼的可擴展性
3.正確性
子類可以完全替換父類,從而保證了代碼的正確性。如果子類無法完全替換父類,那么在使用子類對象時就會出現(xiàn)一些錯誤,因為父類的行為可能會發(fā)生變化,從而導(dǎo)致代碼的行為不一致。
4.復(fù)用性
子類可以完全替換父類,從而提高了代碼的復(fù)用性。如果子類可以替換父類,那么就可以在不同的上下文中使用同一組代碼,從而提高了代碼的復(fù)用性。文章來源:http://www.zghlxwxcb.cn/news/detail-682170.html
過程:
總結(jié):
在上面這個例子定義了一個?Animal?類和一個?Dog?類,Dog?類繼承自?Animal?類。Animal?類中有一個?Eat?方法,而?Dog?類中也有一個?Eat?方法,這個方法使用了?new?關(guān)鍵字來隱藏了?Animal?類中的?Eat?方法。
在?Main?方法中,先創(chuàng)建了一個?Animal?對象,然后再創(chuàng)建了一個?Dog?對象。接著調(diào)用了?animal?對象的?Eat?方法,輸出了 "I am eating.",這個方法調(diào)用的是?Animal?類中的?Eat?方法。然后,我們調(diào)用了?dog?對象的?Eat?方法,輸出了 "I am a dog and I am eating.",這個方法調(diào)用的是?Dog?類中的?Eat?方法。
最后,將?dog?對象賦值給了?animal?對象,并再次調(diào)用了?animal?對象的?Eat?方法,輸出了 "I am a dog and I am eating.",這個方法調(diào)用的是?Dog?類中的?Eat?方法,因為此時?animal?對象的類型是?Dog?類型。
這個例子演示了里氏替換原則的應(yīng)用,即在程序運行時,如果需要用一個子類對象來替換父類對象,程序應(yīng)該能夠正確地處理這種替換,而不需要進行額外的處理。文章來源地址http://www.zghlxwxcb.cn/news/detail-682170.html
到了這里,關(guān)于里式替換原則(LSP)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!