Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_5e
 1Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02
 2Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02{《HeadFirst设计模式》之组合模式 }
 3Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02{ 组合与单项的抽象父类           }
 4Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02{ 编译工具:Delphi2007 for win32}
 5Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02{ E-Mail :guzh-0417@163.com   }
 6Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02
 7Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02unit uMenuComponent;
 8Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02
 9Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02interface
10Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02
11Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02uses
12Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02  SysUtils;
13Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02
14Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02type
15Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02  TMenuComponent = class abstract(TObject)
16Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02  public
17Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02    procedure Add(aMenuComponent: TMenuComponent); virtual;
18Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02    procedure Remove(aMenuComponent: TMenuComponent); virtual;
19Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02    function GetChild(i: Integer): TMenuComponent; virtual;
20Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02    function GetName: string; virtual;
21Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02    function GetDescription: string; virtual;
22Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02    function GetPrice: Integer; virtual;
23Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02    function IsVegetarian: Boolean; virtual;
24Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02    procedure Print; virtual;
25Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02  end;
26Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02
27Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02implementation
28Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02
29Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02{ TMenuComponent }
30Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02
31Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02procedure TMenuComponent.Add(aMenuComponent: TMenuComponent);
32Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02begin
33Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02  raise Exception.Create('UnSupported Operation Exception!');
34Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02end;
35Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02
36Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02function TMenuComponent.GetChild(i: Integer): TMenuComponent;
37Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02begin
38Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02  raise Exception.Create('UnSupported Operation Exception!');
39Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02end;
40Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02
41Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02function TMenuComponent.GetDescription: string;
42Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02begin
43Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02  raise Exception.Create('UnSupported Operation Exception!');
44Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02end;
45Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02
46Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02function TMenuComponent.GetName: string;
47Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02begin
48Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02  raise Exception.Create('UnSupported Operation Exception!');
49Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02end;
50Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02
51Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02function TMenuComponent.GetPrice: Integer;
52Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02begin
53Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02  raise Exception.Create('UnSupported Operation Exception!');
54Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02end;
55Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02
56Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02function TMenuComponent.IsVegetarian: Boolean;
57Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02begin
58Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02  raise Exception.Create('UnSupported Operation Exception!');
59Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02end;
60Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02
61Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02procedure TMenuComponent.Print;
62Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02begin
63Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02  raise Exception.Create('UnSupported Operation Exception!');
64Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02end;
65Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02
66Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02procedure TMenuComponent.Remove(aMenuComponent: TMenuComponent);
67Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02begin
68Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02  raise Exception.Create('UnSupported Operation Exception!');
69Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02end;
70Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02
71Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02end.

 

Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_5e
 1Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02
 2Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02{《HeadFirst设计模式》之组合模式 }
 3Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02{ 单项类                        }
 4Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02{ 编译工具:Delphi2007 for win32 }
 5Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02{ E-Mail :guzh-0417@163.com    }
 6Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02
 7Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02unit uMenuItem;
 8Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02
 9Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02interface
10Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02
11Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02uses
12Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02  uMenuComponent;
13Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02
14Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02type
15Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02  TMenuItem = class(TMenuComponent)
16Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02  private
17Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02    FName : string;
18Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02    FDescription: string;
19Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02    FVegetarian : Boolean;
20Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02    FPrice: Integer;
21Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02  public
22Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02    constructor Create(aName, aDescription: string;
23Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02                       aVegetarian : Boolean;
24Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02                       aPrice: Integer);
25Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02    function GetName: string; override;
26Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02    function GetDescription: string; override;
27Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02    function GetPrice: Integer; override;
28Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02    function IsVegetarian: Boolean; override;
29Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02    procedure Print; override;
30Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02  end;
31Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02
32Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02implementation
33Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02
34Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02{ TMenuItem }
35Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02
36Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02constructor TMenuItem.Create(aName, aDescription: string;
37Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02                             aVegetarian: Boolean;
38Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02                             aPrice: Integer);
39Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02begin
40Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02  FName  := aName;
41Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02  FDescription := aDescription;
42Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02  FVegetarian  := aVegetarian;
43Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02  FPrice := aPrice;
44Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02end;
45Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02
46Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02function TMenuItem.GetDescription: string;
47Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02begin
48Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02  Result := FDescription
49Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02end;
50Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02
51Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02function TMenuItem.GetName: string;
52Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02begin
53Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02  Result := FName;
54Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02end;
55Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02
56Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02function TMenuItem.GetPrice: Integer;
57Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02begin
58Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02  Result := FPrice;
59Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02end;
60Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02
61Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02function TMenuItem.IsVegetarian: Boolean;
62Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02begin
63Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02  Result := FVegetarian
64Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02end;
65Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02
66Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02procedure TMenuItem.Print;
67Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02begin
68Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02  Write(' ' + GetName);
69Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02  if IsVegetarian then
70Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02  begin
71Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02    Write('(V)');
72Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02  end;
73Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02  Writeln(', ', GetPrice);
74Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02  Writeln('     --' + GetDescription);
75Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02end;
76Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02
77Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02end.

 

Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_5e
 1Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02
 2Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02{《HeadFirst设计模式》之组合模式   }
 3Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02{ 组合类                         }
 4Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02{ 编译工具:Delphi2007 for win32 }
 5Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02{ E-Mail :guzh-0417@163.com    }
 6Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02
 7Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02unit uMenu;
 8Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02
 9Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02interface
10Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02
11Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02uses
12Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02  uMenuComponent, Classes;
13Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02
14Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02type
15Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02  TMenu = class(TMenuComponent)
16Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02  private
17Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02    FMenuComponents: TList;
18Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02    FName: string;
19Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02    FDescription: string;
20Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02  public
21Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02    constructor Create(aName, aDescription: string);
22Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02    destructor Destroy; override;
23Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02    procedure Add(aMenuComponent: TMenuComponent); override;
24Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02    procedure Remove(aMenuComponent: TMenuComponent); override;
25Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02    function GetChild(i: Integer): TMenuComponent; override;
26Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02    function GetName: string; override;
27Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02    function GetDescription: string; override;
28Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02    procedure Print; override;
29Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02  end;
30Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02
31Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02implementation
32Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02
33Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02{ TMenu }
34Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02
35Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02constructor TMenu.Create(aName, aDescription: string);
36Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02begin
37Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02  FMenuComponents := TList.Create;
38Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02  FName := aName;
39Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02  FDescription := aDescription;
40Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02end;
41Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02
42Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02destructor TMenu.Destroy;
43Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02begin
44Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02  FMenuComponents.Clear;
45Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02end;
46Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02
47Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02procedure TMenu.Add(aMenuComponent: TMenuComponent);
48Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02begin
49Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02  FMenuComponents.Add(aMenuComponent);
50Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02end;
51Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02
52Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02procedure TMenu.Remove(aMenuComponent: TMenuComponent);
53Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02begin
54Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02  FMenuComponents.Remove(aMenuComponent);
55Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02end;
56Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02
57Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02function TMenu.GetChild(i: Integer): TMenuComponent;
58Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02begin
59Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02  Result := TMenuComponent(FMenuComponents.Items[i]);
60Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02end;
61Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02
62Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02function TMenu.GetDescription: string;
63Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02begin
64Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02  Result := FDescription;
65Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02end;
66Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02
67Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02function TMenu.GetName: string;
68Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02begin
69Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02  Result := FName;
70Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02end;
71Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02
72Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02procedure TMenu.Print;
73Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02var
74Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02  MenuComponent: Pointer;
75Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02begin
76Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02  Write(GetName);
77Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02  Writeln(', ' + GetDescription);
78Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02  Writeln('-------------------');
79Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02
80Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02  for MenuComponent in FMenuComponents do
81Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02    TMenuComponent(MenuComponent).Print;
82Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02end;
83Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02
84Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02end.

 

Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_5e
 1Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02
 2Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02{《HeadFirst设计模式》之组合模式                 }
 3Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02{ 组合的用户,女招待只需认识 TMenuComponent 即可。}
 4Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02{ 编译工具:Delphi2007 for win32                }
 5Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02{ E-Mail :guzh-0417@163.com                   }
 6Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02
 7Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02unit uWaitress;
 8Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02
 9Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02interface
10Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02
11Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02uses
12Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02  uMenuComponent;
13Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02
14Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02type
15Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02  TWaitress = class(TObject)
16Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02  private
17Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02    FAllMenus: TMenuComponent;
18Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02  public
19Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02    constructor Create(aAllMenus: TMenuComponent);
20Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02    procedure PrintMenu;
21Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02  end;  
22Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02
23Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02implementation
24Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02
25Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02{ TWaitress }
26Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02
27Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02constructor TWaitress.Create(aAllMenus: TMenuComponent);
28Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02begin
29Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02  FAllMenus := aAllMenus;
30Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02end;
31Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02
32Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02procedure TWaitress.PrintMenu;
33Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02begin
34Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02  FAllMenus.Print;
35Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02end;
36Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02
37Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02end.

 

Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_5e
  1Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02
  2Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02{《HeadFirst设计模式》之组合模式 }
  3Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02{ 客户端                         }
  4Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02{ 编译工具:Delphi2007 for win32 }
  5Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02{ E-Mail :guzh-0417@163.com     }
  6Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02
  7Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02program pMenuTestDrive;
  8Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02
  9Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02{$APPTYPE CONSOLE}
 10Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02
 11Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02uses
 12Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02  SysUtils,
 13Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02  uMenuComponent in 'uMenuComponent.pas',
 14Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02  uMenuItem in 'uMenuItem.pas',
 15Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02  uMenu in 'uMenu.pas',
 16Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02  uWaitress in 'uWaitress.pas';
 17Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02
 18Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02var
 19Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02  PancakeHouseMenu: TMenuComponent;
 20Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02  DinerMenu: TMenuComponent;
 21Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02  CafeMenu: TMenuComponent;
 22Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02  CoffeeMenu: TMenuComponent;
 23Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02  DessertMenu: TMenuComponent;
 24Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02
 25Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02  AllMenus: TMenuComponent;
 26Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02
 27Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02  Waitress: TWaitress;
 28Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02  
 29Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02begin
 30Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02  PancakeHouseMenu := TMenu.Create('PANCAKE HOUSE MENU', 'Breakfast');
 31Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02  DinerMenu := TMenu.Create('DINER MENU', 'Lunch');
 32Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02  CafeMenu := TMenu.Create('CAFE MENU', 'Dinner');
 33Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02  CoffeeMenu := TMenu.Create('COFFEE MENU', 'Stuff to go with your afternoon coffee');
 34Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02  DessertMenu := TMenu.Create('DESSERT MENU', 'Dessert of course!');
 35Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02
 36Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02  AllMenus := TMenu.Create('ALL MENUS', 'All menus combined');
 37Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02
 38Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02
 39Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02  AllMenus.Add(PancakeHouseMenu);
 40Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02  AllMenus.Add(DinerMenu);
 41Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02  AllMenus.Add(CafeMenu);
 42Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02
 43Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02  PancakeHouseMenu.add(TMenuItem.Create(
 44Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02    'K&B''s Pancake Breakfast',
 45Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02    'Pancakes with scrambled eggs, and toast',
 46Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02    True,
 47Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02    299));
 48Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02
 49Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02  PancakeHouseMenu.add(TMenuItem.Create(
 50Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02    'Regular Pancake Breakfast',
 51Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02    'Pancakes with fried eggs, sausage',
 52Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02    False,
 53Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02    299));
 54Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02
 55Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02  PancakeHouseMenu.add(TMenuItem.Create(
 56Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02    'Blueberry Pancakes',
 57Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02    'Pancakes made with fresh blueberries, and blueberry syrup',
 58Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02    True,
 59Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02    349));
 60Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02
 61Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02  PancakeHouseMenu.add(TMenuItem.Create(
 62Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02    'Waffles',
 63Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02    'Waffles, with your choice of blueberries or strawberries',
 64Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02    True,
 65Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02    359));
 66Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02
 67Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02
 68Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02  DinerMenu.add(TMenuItem.Create(
 69Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02    'Vegetarian BLT',
 70Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02    '(Fakin'') Bacon with lettuce & tomato on whole wheat',
 71Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02    True,
 72Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02    299));
 73Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02
 74Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02  DinerMenu.add(TMenuItem.Create(
 75Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02    'BLT',
 76Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02    'Bacon with lettuce & tomato on whole wheat',
 77Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02    False,
 78Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02    299));
 79Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02
 80Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02  DinerMenu.add(TMenuItem.Create(
 81Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02    'Soup of the day',
 82Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02    'A bowl of the soup of the day, with a side of potato salad',
 83Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02    False,
 84Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02    329));
 85Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02
 86Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02  DinerMenu.add(TMenuItem.Create(
 87Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02    'Hotdog',
 88Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02    'A hot dog, with saurkraut, relish, onions, topped with cheese',
 89Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02    False,
 90Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02    305));
 91Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02
 92Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02  DinerMenu.add(TMenuItem.Create(
 93Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02    'Steamed Veggies and Brown Rice',
 94Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02    'Steamed vegetables over brown rice',
 95Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02    True,
 96Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02    399));
 97Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02
 98Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02  DinerMenu.Add(TMenuItem.Create(
 99Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02    'Pasta',
100Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02    'Spaghetti with Marinara Sauce, and a slice of sourdough bread',
101Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02    True,
102Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02    389));
103Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02
104Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02  DinerMenu.add(dessertMenu);
105Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02
106Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02
107Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02  DessertMenu.add(TMenuItem.Create(
108Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02    'Apple Pie',
109Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02    'Apple pie with a flakey crust, topped with vanilla icecream',
110Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02    True,
111Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02    159));
112Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02
113Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02  DessertMenu.add(TMenuItem.Create(
114Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02    'Cheesecake',
115Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02    'Creamy New York cheesecake, with a chocolate graham crust',
116Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02    True,
117Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02    199));
118Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02
119Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02  DessertMenu.add(TMenuItem.Create(
120Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02    'Sorbet',
121Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02    'A scoop of raspberry and a scoop of lime',
122Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02    True,
123Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02    189));
124Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02
125Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02
126Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02  CafeMenu.add(TMenuItem.Create(
127Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02    'Veggie Burger and Air Fries',
128Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02    'Veggie burger on a whole wheat bun, lettuce, tomato, and fries',
129Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02    True,
130Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02    399));
131Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02
132Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02  CafeMenu.add(TMenuItem.Create(
133Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02    'Soup of the day',
134Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02    'A cup of the soup of the day, with a side salad',
135Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02    False,
136Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02    369));
137Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02
138Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02  CafeMenu.add(TMenuItem.Create(
139Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02    'Burrito',
140Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02    'A large burrito, with whole pinto beans, salsa, guacamole',
141Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02    True,
142Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02    429));
143Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02
144Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02  CafeMenu.add(CoffeeMenu);
145Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02
146Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02
147Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02  CoffeeMenu.add(TMenuItem.Create(
148Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02    'Coffee Cake',
149Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02    'Crumbly cake topped with cinnamon and walnuts',
150Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02    True,
151Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02    159));
152Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02
153Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02  CoffeeMenu.add(TMenuItem.Create(
154Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02    'Bagel',
155Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02    'Flavors include sesame, poppyseed, cinnamon raisin, pumpkin',
156Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02    False,
157Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02    69));
158Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02
159Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02  CoffeeMenu.add(TMenuItem.Create(
160Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02    'Biscotti',
161Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02    'Three almond or hazelnut biscotti cookies',
162Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02    True,
163Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02    89));
164Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02
165Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02  Waitress := TWaitress.Create(AllMenus);
166Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02  Waitress.PrintMenu;
167Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02
168Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02  AllMenus.Free;
169Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02  Waitress.Free;
170Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02
171Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02  Readln;
172Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_组合模式_02end.


运行结果:

Delphi 设计模式:《HeadFirst设计模式》Delphi2007代码---组合模式之Menus[转]_设计模式_447