類繼承復用之介面卡模式

2021-04-15 18:20:46 字數 901 閱讀 6067

以類的介面卡模式為例:

type

itarget=inte***ce//目標

procedure hello;

procedure hello2;

end;

tadaptee=class(tinte***cedobject)//被適配者一

public

procedure say;

end;

tadaptee2=class(tinte***cedobject)//被適配者二

public

procedure tell;

end;

tadapter=class(tadaptee,itarget)//介面卡(多重繼承)

public

procedure hello;

procedure hello2;

end;

implementation

procedure tadaptee.say;

begin

//do something

end;

procedure tadaptee.tell;

begin

//do something

end;

procedure tadapter.hello;

begin

say;//轉換介面

end;

procedure tadapter.hello2;

begin

tell;//轉換介面

end;

這樣,tadapter類就能復用tadaptee的say方法和tadaptee2的tell方法,並將這兩個介面分別轉換成hello和hello2,達到將第三方api介面轉

換成與自己現有的介面相容的目的。其核心是多重繼承。  

介面卡模式(類介面卡 物件介面卡)

做個筆記 引用 public inte ce usb public inte ce psp public class usber implements usb 類介面卡 psp適用usb介面 public class usbadapter extends usber implements psp 物...

設計模式 介面卡模式 類介面卡 物件介面卡

乙個小例子,便於理解,上 這是我們造的。現在想用這個方法。public class adaptee 類介面卡。對我們想要的方法封裝一下,target就能像之前一樣,呼叫request方法即可。public class adapter1 extends adaptee implements targe...

介面卡模式 預設介面卡,類介面卡,物件介面卡

模式思想 改變乙個類的對外介面 增加或減少 以滿足不同外部呼叫者的需求 角色成員 目標介面 target 客戶所期待的介面。目標可以是具體的或抽象的類,也可以是介面。需要適配的類 adaptee 需要適配的類或適配者類。介面卡 adapter 通過包裝乙個需要適配的物件,把原介面轉換成目標介面。適配...