国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

里式替換原則(LSP)

這篇具有很好參考價值的文章主要介紹了里式替換原則(LSP)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

目錄

簡介:

作用:

過程:

總結(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ù)用性。

過程:

總結(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)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 【設(shè)計模式】設(shè)計原則-里氏替換原則

    定義 任何基類可以出現(xiàn)的地方,子類一定可以出現(xiàn)。 通俗理解:子類可以擴展父類的功能,但不能改變父類原有的功能。 換句話說,子類繼承父類時,除添加新的方法完成新增功能外,盡量不要重寫父類的方法。 針對的問題 主要作用就是規(guī)范繼承時子類的一些書寫規(guī)則。

    2024年02月14日
    瀏覽(30)
  • 設(shè)計模式——里氏替換原則

    設(shè)計模式——里氏替換原則

    繼承包含這樣一層含義:父類中凡是已經(jīng)實現(xiàn)好的方法,實際上是在設(shè)定規(guī)范和契約,雖然它不強制要求所有的子類必須遵循這些契約,但是如果子類對這些已經(jīng)實現(xiàn)的方法任意修改,就會對整個繼承體系造成破壞。 繼承在給程序設(shè)計帶來便利的同時,也帶來了弊端。比如使

    2024年02月11日
    瀏覽(23)
  • 里氏替換原則究竟如何理解?

    介 紹 里 氏 替 換 原 則 的 文 章 非 常 多 , 但 可 能 大 家 看 完 之 后 , 心 中 仍 然 留 有 疑 問 , 如 何 去 落 地 實 現(xiàn) , 如 何 判 斷 是 否 影 響 程 序 功 能 。 本 文 將 帶 領(lǐng) 大 家 深 入 理 解 里 氏 替 換 , 一 起 領(lǐng) 略 下 它 的 真 正 面 目 。 但 在 此 之 前 , 有 必

    2024年02月08日
    瀏覽(26)
  • 里氏替換原則

    里氏替換原則 OOP(Object Oriented Programming) 面向?qū)ο缶幊?OO中的繼承性的思考 1.繼承包含這樣一層含義,父類中凡是已經(jīng)寫好的方法,實際上就是設(shè)定規(guī)范。雖然不強制要求所有子類必須遵守規(guī)范(不重寫方法),但是如果子類對這些方法,任意修改就會對繼承體系造成破壞。 2.繼

    2024年02月11日
    瀏覽(33)
  • 設(shè)計模式:里氏替換原則(詳解)

    本博主將用CSDN記錄軟件開發(fā)求學(xué)之路上親身所得與所學(xué)的心得與知識,有興趣的小伙伴可以關(guān)注博主!也許一個人獨行,可以走的很快,但是一群人結(jié)伴而行,才能走的更遠! (1)引入 繼承包含這樣一層含義:父類中凡是已經(jīng)實現(xiàn)好的方法, 實際上是在設(shè)定規(guī)范和契約 ,

    2024年02月06日
    瀏覽(16)
  • 基于面向?qū)ο蠡A(chǔ)設(shè)計——里氏替換原則

    基于面向?qū)ο蠡A(chǔ)設(shè)計——里氏替換原則

    在Java中,支持抽象和多態(tài)的關(guān)鍵機制之一是繼承。正是使用了繼承,我們才可以創(chuàng)建實現(xiàn)父類中抽象方法的子類。那么,是什么規(guī)則在支配著這種特殊的繼承用法呢?最佳的繼承層次的特征又是什么呢?在什么情況下會使我們創(chuàng)建的類層次結(jié)構(gòu)掉進不符合開閉原則的陷阱中呢

    2024年02月14日
    瀏覽(25)
  • 設(shè)計模式(四):里氏替換原則(詳解)

    本博主將用CSDN記錄軟件開發(fā)求學(xué)之路上親身所得與所學(xué)的心得與知識,有興趣的小伙伴可以關(guān)注博主!也許一個人獨行,可以走的很快,但是一群人結(jié)伴而行,才能走的更遠! (1)引入 繼承包含這樣一層含義:父類中凡是已經(jīng)實現(xiàn)好的方法, 實際上是在設(shè)定規(guī)范和契約 ,

    2024年02月05日
    瀏覽(23)
  • 看表情包學(xué)C語言 ——局部優(yōu)先原則

    看表情包學(xué)C語言 ——局部優(yōu)先原則

    ??? ?? 【C語言趣味教程】專欄介紹?? 猛戳了解?。。?0x00 引入:什么是作用域? 變量和常量在程序中都是有作用范圍的,這個范圍我們稱之為變量的? 作用域 (scope) 。 作用域也稱為 \\\"定義域\\\",是程序中 定義的變量所存在的區(qū)域,出了該區(qū)域變量就不能被訪問。 變量的作

    2024年02月14日
    瀏覽(18)
  • 【Java 設(shè)計模式】設(shè)計原則之開放封閉原則

    在軟件開發(fā)中,設(shè)計原則是創(chuàng)建靈活、可維護和可擴展軟件的基礎(chǔ)。 這些原則為我們提供了指導(dǎo)方針,幫助我們構(gòu)建高質(zhì)量、易理解的代碼。 ?單一職責(zé)原則(SRP) ?開放/封閉原則(OCP) ?里氏替換原則(LSP) ?依賴倒置原則(DIP) ?接口隔離原則(ISP) ?合成/聚合復(fù)

    2024年02月02日
    瀏覽(61)
  • 軟件開發(fā)原則

    原則 介紹 單一職責(zé)原則 一個類或模塊應(yīng)該只負責(zé)一項任務(wù)或功能 開閉原則 軟件實體(類、模塊、函數(shù)等)應(yīng)該對擴展開放,對修改關(guān)閉 里氏替換原則 子類應(yīng)該能夠替換其父類并且不會破壞程序的正確性 接口隔離原則 客戶端不應(yīng)該強制依賴它不需要的接口,即應(yīng)該將接口

    2024年02月10日
    瀏覽(14)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包