设计模式、用Delphi实现---->Decorator 模式[12]

[入库:2005年8月18日] [更新:2007年3月24日]

本文简介:选择自 programlover 的 blog

  tuppercasefilter = class (ttextfilter)

  public

»   function readline: string; override;

»   procedure writeline(const line: string); override;

  end;

 

implementation

 

function tuppercasefilter.readline: string;

begin

» result := uppercase(inherited readline);

end;

 

procedure tuppercasefilter.writeline(const line: string);

begin

» inherited writeline(uppercase(line));

end;

这个装饰类可以被子任何ttextstream目标使用:

 

function tclient.createoutput: ttextstream;

begin

» { 创建一个基类}

» case destination of

»   dsfile: result := ttextfile.create(getfilename, fmcreate);

»   dsprinter: result := tlineprinter.create;

» end;

» {判断是是否使用了装饰, 并使用同样的参数

本文关键:设计模式、Delphi、VCL库
 

本站最佳浏览方式为 分辨率 1024x768 IE 6.0(或更高版本的 IE浏览器)

go top