91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

面向對象6大原則之里氏替換原則

發布時間:2020-08-05 16:58:44 來源:網絡 閱讀:829 作者:firekido 欄目:軟件技術

???????? 這是我之前對于面向對象6大原則的學習筆記,其中對里氏替換原則的理解不夠深刻,https://blog.51cto.com/zhangzhao/2396810

???????? 根據百度百科的資料,里氏替換原則的定義為:Liskov1987年提出了一個關于繼承的原則“Inheritance should ensure that any property proved about supertype objects also holds for subtype objects.”——“繼承必須確保超類所擁有的性質在子類中仍然成立。”也就是說,當一個子類的實例應該能夠替換任何其超類的實例時,它們之間才具有is-A關系。

???????? 簡單來說,就是當子類替換其基類的時候,程序的行為沒有發生任何變化。

???????? 這就要求:

???????? 1. 子類可以實現父類的抽象方法,但是不能重寫父類的非抽象方法。(這里需要區分下重寫和重載的概念,重寫是指函數名相同,函數的簽名或者說參數類型相同;而重載是函數名相同,函數的簽名或者說參數類型不同,面向對象語言的多態性會在運行時根據傳入的實參類型自動匹配最適合的函數進行調用)

???????? 2. 子類可以增加自己的特性。

???????? 3. 子類的在重載父類方法時,方法的前置條件(形參)要比父類方法的輸入參數更寬松。這是因為如果子類方法的參數范圍更小的話,在運行調用函數的時候,可能就會先調用子類的重載函數,這是違反里氏替換原則的。

???????? 4. 重載父類方法時輸出結果(返回值)可以被縮小。


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

荔波县| 大安市| 方山县| 庆安县| 遂平县| 濉溪县| 东丽区| 靖远县| 汝城县| 方山县| 邵东县| 临漳县| 揭东县| 大埔区| 卓资县| 九江市| 井研县| 张掖市| 宝坻区| 东光县| 扎兰屯市| 寿宁县| 崇仁县| 安阳县| 广饶县| 焦作市| 杭锦后旗| 永城市| 柘荣县| 北京市| 加查县| 罗定市| 珲春市| 屏东市| 宜城市| 宁海县| 贺兰县| 兰西县| 石阡县| 滨海县| 马关县|