|奧遠科技是專注于信息化建設與互聯(lián)網(wǎng)產(chǎn)品開發(fā)的高新科技企業(yè),主要服務于百強企業(yè)、上市公司、大型集團網(wǎng)站建設。承接大型電商網(wǎng)站、復雜功能型網(wǎng)站、APP、微信、小程序,oa辦公管理系統(tǒng),ERP管理系統(tǒng)開發(fā)。為客戶提供一站式網(wǎng)絡營銷解決方案,全國統(tǒng)一客服熱線:4000-880-989。 "> |null ">

国产春药久久久AV实拍,中文 免费 最新 精品,欧美成人h大片在线播放,大香蕉大香蕉大香蕉在线

技術中心

這里象征著我們的態(tài)度和能力

設計模式6大原則:里氏置換原則
作者:中國IT實驗室    來源:中國IT實驗室    發(fā)布時間:2012-03-12      瀏覽次數(shù):9763
分享到:
歡迎進入Java社區(qū)論壇,與200萬技術人員互動交流 >>進入

  里氏置換原則(Liskov Substitution Principle),簡稱LSP

  定義:

  Functions that use pointers or references to base classes must be able to use objects of derived classes without knowing it.

  所有引用基類的地方必須能夠透明的使用其子類對象。

  也就是說,只要父類出現(xiàn)的地方子類就能夠出現(xiàn),而且替換為子類不會產(chǎn)生任何錯誤或異常。但是反過來,子類出現(xiàn)的地方,替換為父類就可能出現(xiàn)問題了。

  這個原則是為良好的繼承定義一個規(guī)范,簡單的講,有4層含義:

  一、子類必須完全實現(xiàn)父類的方法

  定義一個抽象類

  public abstract class ViewPoint { //去麗江旅游public abstract void where();}下面兩個類是實現(xiàn)這個抽象類

  public class Lijiang extends ViewPoint {

  @Override public void where() { System.out.println("歡迎來到麗江……");}

  } public class Zhangjiajie extends ViewPoint {

  @Override public void where() { System.out.println("歡迎來到張家界……");}

  }人物是涂涂,在里面設置類類型來傳遞參數(shù)。此時涂涂要去的旅游景點還是抽象的

  public class Tutu { //定義要旅游的景點private ViewPoint viewpoint;//涂涂要去的景點public void setViewPoint(ViewPoint viewpoint)

  { this.viewpoint = viewpoint;}

  public void travelTo()

  { System.out.println("涂涂要去旅游了");viewpoint.where();}場景類。設置具體要去的景點

  public class Sence { public static void main(String args[])

  { Tutu tutu = new Tutu();//設置要去的旅游景點tutu.setViewPoint(new Lijiang());tutu.travelTo();}運行結(jié)果:

  涂涂要去旅游了

  歡迎來到麗江……

  二、子類可以有自己的特性

  也就是說在類的子類上,可以定義其他的方法或?qū)傩?

  三、覆蓋或者實現(xiàn)父類的方法時輸入?yún)?shù)可以被放大

  父類能夠存在的地方,子類就能存在,并且不會對運行結(jié)果有變動。反之則不行。

  父類,say()里面的參數(shù)是HashMap類型,是Map類型的子類型。(因為子類的范圍應該比父類大)

  import java.util.Collection;import java.util.HashMap;

  public class Father { public Collection say(HashMap map)

  { System.out.println("父類被執(zhí)行……");return map.values();}子類,say()里面的參數(shù)變成了Map類型,Map范圍比HashMap類型大,符合LSP原則。注意這里的say不是覆寫父類的say,因為參數(shù)類型不同。而是重載。

  import java.util.Collection;import java.util.Map;

  /* * 子類繼承了父類的所有屬性*/ public class Son extends Father { //方法輸入?yún)?shù)類型public Collection say(Map map)

  { System.out.println("子類被執(zhí)行……");return map.values();}場景類

  import java.util.HashMap;

  public class Home { public static void main(String args[])

  { invoke();}

  public static void invoke()

  { //父類存在的地方,子類就應該能夠存在//Father f = new Father();Son s = new Son();HashMap map = new HashMap();//f.say(map);s.say(map);}無論是用父類還是子類調(diào)用say方法,得到的結(jié)果都是

  父類被執(zhí)行……

  但是,如果將上面Father里的say參數(shù)改為Map,子類Son里的say參數(shù)改為HashMap,得到的結(jié)果就變成了

  f.say(map)結(jié)果:父類被執(zhí)行……

  s.say(map)結(jié)果: 子類被執(zhí)行……

  這樣會造成邏輯混亂。所以子類中方法的前置條件必須與父類中被覆寫的前置條件相同或者更寬。

  四、覆寫或者實現(xiàn)父類的方法時輸出結(jié)果可以被縮小

  其實與上面的類似,也就是父類能出現(xiàn)的地方子類就可以出現(xiàn),而且替換為子類不會產(chǎn)生任何錯誤或者異常,使用者也無需知道是父類還是子類。但是反過來就不行了,有子類出現(xiàn)的地方,父類未必就適應。(畢竟子類的范圍要>=父類的范圍)

4000-880-989
(24小時熱線)
聯(lián)系客服
微信公眾號

官方公眾號

小程序

?2008-2022 CORPORATION ALL Rights Reserved. 昆明奧遠科技有限公司版權所有 滇ICP備09003328號-1 滇公網(wǎng)安備 53011102000818號 增值電信業(yè)務經(jīng)營許可證號:滇B2-20110045
昆明那家網(wǎng)絡公司好,新媒體運營,網(wǎng)站優(yōu)化,網(wǎng)絡推廣,網(wǎng)站建設,網(wǎng)頁設計,網(wǎng)站設計,網(wǎng)站推廣,云南網(wǎng)站公司,昆明新媒體公司,云南網(wǎng)紅主播,昆明SEO公司,昆明網(wǎng)站建設,昆明網(wǎng)絡推廣,昆明網(wǎng)站優(yōu)化,昆明網(wǎng)站推廣,紅河網(wǎng)站建設,大理網(wǎng)絡公司,曲靖網(wǎng)絡公司,麗江網(wǎng)站設計,昭通網(wǎng)絡公司,保山大數(shù)據(jù)服務,智慧高速建設,智慧校園服務,云南IDC服務商,網(wǎng)絡安全測評,等保測評,網(wǎng)站關鍵詞排名優(yōu)化服務,服務客戶盡超2000余家,一切盡在奧遠科技,服務電話:13888956730
精品爆乳一区二区三区无码av| 亚洲一区二区三区女同性恋| 国产精准毛片久久久久久久| 亚洲熟女高潮不断爆白浆| 精品国产粉嫩内射白浆内射双马尾| 国产精品V在线观看播放| 秋霞午夜鲁丝片午夜无码| 久久精品国产白丝爆白浆| 日本久久精品一区二区三区| 久久黑丝袜诱惑女一区精品| 不戴乳罩的邻居在线播放| 国产av在线| 99视频精品全部观免费| 亚洲香蕉中文网| 欧美日韩电影在线播放网| 久久精品国产亚洲一区二区| 久久精品国产亚洲香蕉aⅴ| 日韩一区精品视频一区二区| 亚洲精品综合久久国产二区| 亚洲乱码精品久久久久..| 神午夜久久亚洲精品电影闲| 伊人久久大香线蕉av色婷婷色| 日本中文字幕mv在线观看| 欧美精品亚洲精品小说区| 国内性视频精品三级在线| 亚洲成aⅤ人片在线观看| 欧美一区二区三区啪啪| 性感美女啪啪啪一区二区| 欧美不卡颜色视频在线观看| 久久久久久AV无码成人| 少妇人妻偷人精品无码av| 国产成人精品国内自产色| 国产精品久久99热福利| sese日韩精品在线视频| 99久久国产福利自产拍| 国产精品一区二区av白丝| 初撮日本熟女一区二区三区| 亚洲成a人v欧美综合天| 亚洲小说春色综合另类| china国产精品粉嫩| 亚洲一区丝袜美腿在线观看|