国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > PHP > 正文

PHP面向?qū)ο笾锸咸鎿Q原則簡單示例

2024-05-05 00:03:07
字體:
供稿:網(wǎng)友

本文實例講述了PHP面向?qū)ο笾锸咸鎿Q原則。分享給大家供大家參考,具體如下:

里氏替換原則(Liskov Substitution Principle)

里氏替換原則告訴我們,在軟件中將一個基類對象替換成它的子類對象,程序?qū)⒉粫a(chǎn)生任何錯誤和異常,反過來則不成立,如果一個軟件實體使用的是一個子類對象的話,那么它不一定能夠使用基類對象。里氏替換原則是實現(xiàn)開閉原則的重要方式之一,由于使用基類對象的地方都可以使用子類對象,因此在程序中盡量使用基類類型來對對象進行定義,而在運行時再確定其子類類型,用子類對象來替換父類對象。

使用里氏替換原則時需要注意,子類的所有方法必須在父類中聲明,或子類必須實現(xiàn)父類中聲明的所有方法。盡量把父類設(shè)計為抽象類或者接口,讓子類繼承父類或?qū)崿F(xiàn)父接口,并實現(xiàn)在父類中聲明的方法,運行時,子類實例替換父類實例,我們可以很方便地擴展系統(tǒng)的功能,同時無須修改原有子類的代碼,增加新的功能可以通過增加一個新的子類來實現(xiàn)。

通過一段代碼了解

<?php//例子1class Bird{  protect function fly(){  }}//翠鳥class KingFisher extends Bird{}//鴕鳥class Ostrich extends Bird{  //鴕鳥不會飛啊}//例子2class A{  protect function add($a, $b){    return $a + $b;  }} //重載class B extends A{  protected function add($a, $b){    return $a + $b + 100;  }}?>

里氏替換原則是對類繼承的一種約束。對里氏替換原則有兩種理解:

1. 不能隨便去繼承不合適的,有多余方法或者屬性的類。(例子1)

2. 子類可以擴展父類的功能,但不能改變父類原有的功能。(例子2)

里氏替換原則包含一下幾個隱藏含義:

① 子類可以實現(xiàn)父類的抽象方法,但不能覆蓋父類的非抽象方法。

② 子類中可以增加自己特有的方法。

③ 當子類的方法重載父類的方法時,方法的前置條件(即方法的形參)要比父類方法的輸入?yún)?shù)更寬松。

④ 當子類的方法實現(xiàn)父類的抽象方法時,方法的后置條件(即方法的返回值)要比父類更嚴格。

希望本文所述對大家PHP程序設(shè)計有所幫助。


注:相關(guān)教程知識閱讀請移步到PHP教程頻道。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 天台县| 四川省| 渭源县| 宜川县| 南江县| 斗六市| 涞源县| 乌恰县| 郸城县| 屏边| 米林县| 青河县| 定结县| 周口市| 通道| 余姚市| 裕民县| 伊吾县| 正宁县| 云浮市| 连州市| 筠连县| 休宁县| 绥芬河市| 黎平县| 大悟县| 宜黄县| 黔南| 泰和县| 同江市| 华蓥市| 台中市| 天门市| 楚雄市| 偏关县| 石狮市| 梅州市| 七台河市| 聂拉木县| 达州市| 财经|