else raise nothisfruitexception.create('这种水果还没有被种植!');
end;
end.
窗体界面:
| //mainform.pas 窗体文件,这里说明怎样使用简单工厂 unit mainform; interface uses windows, messages, sysutils, variants, classes, graphics, controls, forms, dialogs,simplefactory, stdctrls; type tform1 = class(tform) radiobutton1: tradiobutton; radiobutton2: tradiobutton; radiobutton3: tradiobutton; radiobutton4: tradiobutton; procedure radiobutton1click(sender: tobject); procedure radiobutton2click(sender: tobject); procedure radiobutton3click(sender: tobject); procedure radiobutton4click(sender: tobject); public procedure produce(fruitname:string); end; var form1: tform1; implementation { ********** tform1 ********** } //这就是生产过程 //ifruit 类型的临时变量 f 自己知道种的是哪种水果,有趣吧 //想要什么尽管来种,果园大丰收啦! procedure tform1.produce(fruitname:string); var f: ifruit; begin try f:=tfruitgardener.factory(fruitname); showmessage(f.plant()); showmessage(f.grow()); showmessage(f.harvest()); except
本文关键:用 Delphi 学设计模式(一) 之 简单工厂篇 (原创)
相关方案
|