类继承复用之适配器模式

以类的适配器模式为例:
type
  ITarget=interface//目标
    procedure Hello;
    Procedure Hello2;
  end;

  TAdaptee=class(TInterfacedObject)//被适配者一
  public
    procedure Say;
  end;

  TAdaptee2=class(TInterfacedObject)//被适配者二
  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接口转

换成与自己现有的接口兼容的目的。其核心是多重继承。  
posted @ 2008-03-14 13:01  delphi中间件  阅读(200)  评论(0编辑  收藏  举报