程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> Delphi >> 設計模式、用Delphi實現---->Wrapperpattern

設計模式、用Delphi實現---->Wrapperpattern

編輯:Delphi

Wrapper pattern

起源

Delphi中的Wrapper模式是在 ‘Adapter’ or ‘Wrapper’ 的基礎上上改造的。更多的介紹請查閱[Gam+, pages 139..150]。

目的

 

‘將一個接口轉換成客戶期待的別外一個接口。Wrappers 模式使得原本由於接口不兼容而不能一起工作類可以一起工作,參閱 [Gam+ 139].

動機

在Delphi的Object Pascal語言中類對多態性的支持遠比接口對多態的支持高。同樣意味著兩個類雖然可以同時支持一個接口,但它們必須有相同的組先類,從而客戶對象可以對類執行動態變換。但有時我們想使一些原本無關的類在一起工作,此時wrapper模式讓你將一類包裝成另一個類的接口。它類同於多重繼承,但在Delphi是一種引用關系。

開始講述下面的例了,好:

假設您有一個繼承自Tobject並想安裝到控件板的類:Tsample,但此時必須讓組件支持Tcomponent。高興的是有一種好的辦法不用改變Tsample的繼承關系就可以將轉換成支持

Tcomponent(比如此時你沒有類的源碼,只有它的BPL包),創建一個繼承於Tcomponent的新類TsampleWrapper,並將引用聚合類Tsample。此後類TsampleWrapper將是Tcomponent後代,你可以將它加入控件板了。你現在將Tsample

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved