欢迎来到天天文库
浏览记录
ID:59234755
大小:66.50 KB
页数:9页
时间:2020-10-30
《工厂模式代码及类图.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、抽象工厂类图:代码:publicinterfaceSauce{}publicclassMarinaraSauceimplementsSauce{publicMarinaraSauce(){System.out.println("AddMarinaraSauce...");}}publicclassPlumTomatoSauceimplementsSauce{publicPlumTomatoSauce(){System.out.println("AddPlumTomatoSauce...");}}publicinterfaceDough{}publicclassThickCrustDoughi
2、mplementsDough{publicThickCrustDough(){System.out.println("AddThickCrustDough...");}}publicclassThinCrustDoughimplementsDough{publicThinCrustDough(){System.out.println("AddThinCrustDough...");}}publicinterfaceVeggies{}publicclassOnionimplementsVeggies{publicOnion(){System.out.println("AddOnion...")
3、;}}publicclassMushroomimplementsVeggies{publicMushroom(){System.out.println("AddMushroom...");}}publicclassGarlicimplementsVeggies{publicGarlic(){System.out.println("AddGarlic...");}}publicclassEggplantimplementsVeggies{publicEggplant(){System.out.println("AddEggplant...");}}publicclassBlackOlivesi
4、mplementsVeggies{publicBlackOlives(){System.out.println("AddBlackOlives...");}}publicabstractclassPizza{Stringname;Doughdough;Saucesauce;Veggiesveggies[];abstractvoidprepare();voidbake(){System.out.println("Bakefor25minutesat350");}voidcut(){System.out.println("Cuttingthepizzaintodiagonalslices");}
5、voidbox(){System.out.println("PlacepizzainofficialPizzaStorebox");}voidsetName(Stringname){this.name=name;}Stringgetname(){returnname;}}publicinterfacePizzaIngredientFactory{publicDoughcreateDough();publicSaucecreateSauce();publicVeggies[]createVeggies();}publicclassNYPizzaIngredientFactoryimplemen
6、tsPizzaIngredientFactory{publicDoughcreateDough(){returnnewThinCrustDough();}publicSaucecreateSauce(){returnnewMarinaraSauce();}publicVeggies[]createVeggies(){Veggiesveggies[]={newGarlic(),newOnion(),newMushroom()};returnveggies;}}publicclassChicagoPizzaIngredientFactoryimplementsPizzaIngredientFac
7、tory{publicDoughcreateDough(){returnnewThickCrustDough();}publicSaucecreateSauce(){returnnewPlumTomatoSauce();}publicVeggies[]createVeggies(){Veggiesveggies[]={newBlackOlives(),newEggplant()};returnveggies;
此文档下载收益归作者所有