下面開始吧
這裡是簡單工廠模式的實現方法
//簡單工廠類和水果類單元文件
unit SimpleFactory;
interface
type
接口_水果 = interface(IInterface)
function 提示():string;
function 被評價():string;
end;
類_蘋果 = class(TInterfacedObject
function 提示():string;
function 被評價():string;
end;
類_葡萄 = class(TInterfacedObject
function 提示():string;
function 被評價():string;
end;
類_草莓 = class(TInterfacedObject
function 提示():string;
function 被評價():string;
end;
工廠類_小販 = class(TObject)
public
class function 工廠(水果名:string): 接口_水果;
end;
implementation
{***** 類_蘋果 *****}
function 類_蘋果
begin
result:=
end;
function 類_蘋果
begin
result:=
end;
{*****類_葡萄 *****}
function 類_葡萄
begin
result:=
end;
function 類_葡萄
begin
result:=
end;
{***** 類_草莓 *****}
function 類_草莓
begin
result:=
end;
function 類_草莓
begin
result:=
end;
{***** 工廠類_小販 *****}
class function 工廠類_小販
begin
if(水果名=
else if(水果名=
else if(水果名=
end;
end
//窗體單元文件
unit MainForm;
interface
uses
Windows
Dialogs
type
TForm
RadioButton
RadioButton
RadioButton
procedure RadioButton
procedure RadioButton
procedure RadioButton
private
procedure 交易(水果名:string);
end;
var
Form
implementation
{$R *
procedure TForm
var
我買的水果: 接口_水果;
begin
我買的水果:=工廠類_小販
ShowMessage(我買的水果
ShowMessage(我買的水果
end;
procedure TForm
begin
交易(
end;
procedure TForm
begin
交易(
end;
procedure TForm
begin
交易(
end;
end
這裡是工廠方法模式的實現方法
//工廠類和水果類單元文件
unit FactoryMethod;
interface
type
接口_水果 = interface(IInterface)
function 提示():string;
function 被評價():string;
end;
類_蘋果 = class(TInterfacedObject
function 提示():string;
function 被評價():string;
end;
類_葡萄 = class(TInterfacedObject
function 提示():string;
function 被評價():string;
end;
類_草莓 = class(TInterfacedObject
function 提示():string;
function 被評價():string;
end;
接口_小販 = interface(IInterface)
function 工廠(): 接口_水果;
end;
類_蘋果小販 = class(TInterfacedObject
function 工廠(): 接口_水果;
end;
類_葡萄小販 = class(TInterfacedObject
function 工廠(): 接口_水果;
end;
類_草莓小販 = class(TInterfacedObject
function 工廠(): 接口_水果;
end;
implementation
{****** 類_蘋果 ******}
function 類_蘋果
begin
result:=
end;
function 類_蘋果
begin
result:=
end;
{****** 類_葡萄 ******}
function 類_葡萄
begin
result:=
end;
function 類_葡萄
begin
result:=
end;
{****** 類_草莓 ******}
function 類_草莓
begin
result:=
end;
function 類_草莓
begin
result:=
end;
{***** 類_蘋果小販 *****}
function 類_蘋果小販
begin
result:=類_蘋果
end;
{***** 類_葡萄小販 *****}
function 類_葡萄小販
begin
result:=類_葡萄
end;
{***** 類_草莓小販 *****}
function 類_草莓小販
begin
result:=類_草莓
end;
end
//窗體單元文件
unit MainForm;
interface
uses
Windows
Dialogs
type
TForm
RadioButton
RadioButton
RadioButton
procedure RadioButton
procedure RadioButton
procedure RadioButton
private
procedure 交易(小販:接口_小販);
end;
var
Form
implementation
{$R *
procedure TForm
var
我買的水果:接口_水果;
begin
我買的水果:=小販
ShowMessage(我買的水果
ShowMessage(我買的水果
end;
procedure TForm
begin
交易(類_蘋果小販
end;
procedure TForm
begin
交易(類_葡萄小販
end;
procedure TForm
begin
交
From:http://tw.wingwit.com/Article/program/Delphi/201311/8421.html