四:综合题(共15分)
假设你现在是一家快餐店的的管理者,要给顾客提供一系列的食品,如鸡翅、鸡腿等,顾客每要求一种食品,快餐店应当很快“生产”出来。请采用工厂模式来实现这个过程,用C#语言编写相应的类代码。
答: //抽象的KFC食品,Product角色 public abstract class KFCFood {
public abstract void show(); }
//下面两个类表示两种具体的KFC食品,它们继承了抽象的KFC食品Concrete Product1角色 public class Chicken: KFCFood {
public override void show() {
Console.WriteLine(“鸡腿+1”); } }
//Concrete Product2角色
public class Wings: KFCFood {
public override void show() {
Console.WriteLine(“鸡翅+1”); } }
//产品工厂,Factory角色 interface IKFCFactory {
KFCFood CreatFood(); }
//鸡翅膀工厂,ConcreteFactory角色
public class WingsFactory: IKFCFactory {
public KFCFood CreateFood()
课程名称: 软件设计模式 6
{
return new Wings(); } }
//鸡腿工厂,ConcreteFactory角色
public class ChickenFactory: IKFCFactory {
public KFCFood CreateFood() {
return new Chicken(); } }
Static void Main(String[] args) {
//定义一个鸡腿工厂
IKFCFactory factory=new ChickenFactory() //生产鸡腿
KFCFood food1=factory.CreateFood(); food1.show();
//生产鸡腿
KFCFood food2=factory.CreateFood(); food2.show();
//生产鸡腿
KFCFood food3=factory.CreateFood(); food3.show(); Console.Read(); }
课程名称: 软件设计模式 7
课程名称: 软件设计模式
8
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库软件设计模式A卷期末考核(2)在线全文阅读。
相关推荐: