Delphi design mode: "Headfirst design mode" DELPHI7 Code---Factory mode simple factory

Source: Internet
Author: User

Simple factory: The factory creates the corresponding product according to the parameters passed in.

Http://www.cnblogs.com/DelphiDesignPatterns/archive/2009/07/24/1530536.html

{"Headfirst design mode" Factory mode Simple Factory}3{Product class}4{Compilation tool: Delphi7.0                 }  5{Contact information: [Email protected]com}67unit uproducts; 89Interface1011typeTpizza =class(TObject)13 PublicProcedure Prepare;Virtual;Abstract; Procedure Bake;Virtual;Abstract; Procedure Cut;Virtual;Abstract; Procedure Box;Virtual;Abstract; 18End; Tcheesepizza =class(Tpizza)21st Public22procedure Prepare; override;23procedure Bake; override;24procedure Cut; override;25procedure Box; override;26End; Tveggiepizza =class(Tpizza)29 Public30procedure Prepare; override;31procedure Bake; override;32procedure Cut; override;33procedure Box; override;34End; Tclampizza =class(Tpizza)37 Public38procedure Prepare; override;39procedure Bake; override;40procedure Cut; override;41procedure Box; override;42End; Tpepperonipizza =class(Tpizza)45 Public46procedure Prepare; override;47procedure Bake; override;48procedure Cut; override;49procedure Box; override;50End; 5152implementation53 54{Tcheesepizza}5556procedure Tcheesepizza.Bake; 57beginWriteln (' Baked cream pizza '); -End; 6061procedure Tcheesepizza.Box; 62beginWriteln (' Cream pizza box '); -End; 6566procedure Tcheesepizza.Cut; 67beginWriteln (' Slice the cream pizza '); theEnd; 7071procedure Tcheesepizza.Prepare; 72beginWriteln (' Prepare butter pizza ')); aboutEnd; 75 76{Tveggiepizza}7778procedure Tveggiepizza.Bake; 79beginWriteln (' Baking pizza '); BayiEnd; 8283procedure Tveggiepizza.Box; 84beginWriteln (' Take the vegetarian pizza box '); theEnd; 8788procedure Tveggiepizza.Cut; 89beginWriteln (' Cut the vegetarian pizza into slices '); theEnd; 9293procedure Tveggiepizza.Prepare; 94beginWriteln (' Ready pizza '); theEnd; 97 98{Tclampizza}99100procedure Tclampizza.Bake;101begin102 Writeln (' Baked clam oyster pizza '); 103End;104105procedure Tclampizza.Box;106begin107 Writeln (' Oyster pizza Box '); 108End;109110procedure Tclampizza.Cut;111beginWriteln (' cut clam pizza into slices ')); 113End;114115procedure Tclampizza.Prepare;116begin117 Writeln (' Prepare clam pizza '); 118End;119120{Tpepperonipizza}121122procedure Tpepperonipizza.Bake;123begin124 Writeln (' Bake pepperoni pizza ');End;126127procedure Tpepperonipizza.Box;128begin129 Writeln (' Will pepperoni pizza cartoning ');End;131132procedure Tpepperonipizza.Cut;133begin134 Writeln (' cut pepperoni pizza into slices '); 135End;136137procedure Tpepperonipizza.Prepare;begin Writeln (' Ready to pepperoni pizza ');End;End.

Delphi design mode: "Headfirst design mode" DELPHI7 Code---Factory mode simple factory

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.