**
* 視窗類,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的子型別。按照黎克特制替換原則,當多個類之間存在繼承關係時,通常應該使用父類或介面來指向子類的物件,這樣有利於提高系統的可擴充套件性。我們都知道...