抽象工廠模式

【實驗內容和要求】java

麥當勞(McDonalds)和肯德基(KFC)快餐店都經營漢堡(Hamburg)和可樂(Cole),用JAVA語言實現(C#控制檯應用程序實現)這兩個快餐店經營產品的抽象工廠模式。繪製該模式的UML圖。ide

模式UML函數

 

【模式代碼(JAVA語言實現)】spa

//主函數get

import java.util.Scanner;input

 

public class AbstractFactory {產品

public static void main(String arg[])io

{class

Scanner input=new Scanner(System.in);import

System.out.println("1:KFC  2:McDonalds");

int a=input.nextInt();

Hamburg h;

Cole c;

if(a==1)

{

Creator af=new KFCFactory();

System.out.println("1:Hamburg  2:Cole");

int b=input.nextInt();

if(b==1)

{

h=af.createHamburg();

h.getHamburg();

}else{

c=af.createCole();

c.getCole();

}

}else if(a==2)

{

Creator af=new McFactory();

System.out.println("1:Hamburg  2:Cole");

int b=input.nextInt();

if(b==1)

{

h=af.createHamburg();

h.getHamburg();

}else{

c=af.createCole();

c.getCole();

}

}

}

 

}

//工廠類

public interface Creator {

Hamburg createHamburg();

Cole createCole();

 

}

public class KFCFactory implements Creator {

 

@Override

public Hamburg createHamburg() {

// TODO Auto-generated method stub

return new KFCHamburg();

}

 

@Override

public Cole createCole() {

// TODO Auto-generated method stub

return new KFCCole();

}

 

}

public class McFactory implements Creator {

 

@Override

public Hamburg createHamburg() {

// TODO Auto-generated method stub

return new McHamburg();

}

 

@Override

public Cole createCole() {

// TODO Auto-generated method stub

return new McCole();

}

 

}

//產品類

public interface Cole {

public void getCole();

 

}

public class KFCCole implements Cole {

 

@Override

public void getCole() {

// TODO Auto-generated method stub

System.out.println("KFCCole");

 

}

 

}

public class McCole implements Cole {

 

@Override

public void getCole() {

// TODO Auto-generated method stub

System.out.println("McCole");

 

}

 

}

public interface Hamburg {

public void getHamburg();

 

}

public class KFCHamburg implements Hamburg {

 

@Override

public void getHamburg() {

// TODO Auto-generated method stub

System.out.println("KFCHamburg");

 

}

 

}

public class McHamburg implements Hamburg {

 

@Override

public void getHamburg() {

// TODO Auto-generated method stub

System.out.println("McHamburg");

 

}

 

}

【運行截圖】

相關文章
相關標籤/搜索