六大設計原則之里式替換原則

2021-08-07 03:41:34 字數 924 閱讀 2254

**

* 視窗類,show時依賴於lview的子類

*/public

class

lwindow

}//建立檢視抽象,測量檢視的寬高為公用**,具體繪製的實現交給具體的子類

public

abstract

class

lview

}//我們繪製乙個文字的lview

public

class

ltextview

extends

lview

}//我們繪製乙個的lview

public

class

limageview

extends

lview

}引用:

lwindow mwindow = new lwindow();

//show乙個ltextview

ltextview mtextview = new ltextview();

mwindow.show(mtextview);

//show乙個limageview

limageview mimageview = new limageview();

mwindow.show(mimageview);

在上述例子中,lwindow依賴於lview,而lview定義了乙個檢視抽象,measure類是各個子類共享

的方法,子類通過覆寫lview的draw方法實現具有各自特色的功能,在這個方法中繪製自己想要的

內容。任何繼承自lview的子類都可以傳遞給show函式,相當於替換掉lview,這就是裡式替換原則。

通過裡式替換,就可以自定義各式各樣的view,然後傳遞給lwindow,lwindow負責show到螢幕

上。

六大設計原則之黎克特制替換原則

liskov substitution principle 簡稱lsp 第一種定義,如果對每乙個型別為s的物件o1,都有型別為t的物件o2,使得以t定義的所有程式p在所有的物件o1都代換成o2時,程式p的行為沒有發生變化,那麼型別s是型別t的子型別。第二種定義,所有引用基類的地方必須能透明地使用其子...

設計原則之里式替換原則

前言 最近降溫很厲害,走在路上呼呼的狂風刮在臉上,讓我無比懷戀家鄉的溫暖。現在要求自己早點休息,所以寫部落格的時間也從午夜變到了上午。今天就來聊一聊裡式替換原則吧 1 裡式替換原則是什麼 關於裡式這次詞語的由來,主要是因為這個原則是以為姓裡的女士提出的,所以叫里式。關於這個原則,在實際開發的時候,就...

六大原則之黎克特制替換原則

如果對乙個型別為s的物件o1,都有型別為t的物件o2,使得以s定義的所有程式p 中所有的物件o1都替換成o2是,程式p的行為沒有發生變化,那麼型別t是型別s的子型別。按照黎克特制替換原則,當多個類之間存在繼承關係時,通常應該使用父類或介面來指向子類的物件,這樣有利於提高系統的可擴充套件性。我們都知道...