zoukankan      html  css  js  c++  java
  • 设计模式2:工程模式(1)

      什么是工厂模式?

      提供一个创建一系列或相互依赖对象的接口,而不需指定它们具体的类。

      通俗的讲就是定义了多个产品的类,且只有一个工厂类,而这个工厂类根据需求的不同,可以产生不同产品类的对象。

      作用:主要为创建对象提供过度接口,以便将创建对象的具体过程屏蔽隔离起来,提高灵活性。

      示例:

      

     1 import java.util.*;
     2 class  Factory  //厨房
     3 {
     4     public static IEat cook(int choose){    
     5         IEat i = null;
     6         switch(choose){
     7             case 1:
     8                 i = new Duck();                
     9                 break;
    10             case 2:
    11                 i = new Chicken();                
    12                 break;
    13             case 3:
    14                 i = new Fish();                
    15                 break;
    16             case 4 :
    17                 i = new Pig();                
    18                 break;
    19             case 5:
    20                 i = new Beef();
    21                 break;
    22         }
    23         return i;
    24     }
    25 
    26     //饭店入口
    27     public static void main(String[] args) 
    28     {
    29         Scanner input = new Scanner(System.in);
    30         System.out.println("吃啥?1 烤鸭   2 炸鸡  3 水煮鱼  4 烤乳猪 5 烤牛排");
    31         int choose = input.nextInt();
    32         IEat i = Factory.cook(choose);
    33         i.eat();
    34         System.out.println("欢迎下次光临!!!");
    35 
    36     }
    37 }
    38 interface IEat
    39 {
    40     void eat();  //
    41 }
    42 class Duck implements IEat
    43 {
    44     public void eat(){
    45         System.out.println("吃烤鸭");
    46     }
    47 }
    48 class Chicken implements IEat
    49 {
    50     public void eat(){
    51         System.out.println("吃炸鸡");
    52     }
    53 }
    54 
    55 class Fish implements IEat
    56 {
    57     public void eat(){
    58         System.out.println("吃水煮鱼");
    59     }
    60 }
    61 class Pig implements IEat
    62 {
    63     public void eat(){
    64         System.out.println("吃烤乳猪");
    65     }
    66 }
    67 class Beef implements IEat
    68 {
    69     public void eat(){
    70         System.out.println("吃牛排");
    71     }
    72 }

      未完,待续。

  • 相关阅读:
    导航守卫
    asnyc
    扩展运算符 ···
    模版字符串
    iterator迭代器
    箭头函数
    解构
    变量let const
    vueUI可视化
    python图像特征提取
  • 原文地址:https://www.cnblogs.com/enjoy-coding/p/4803543.html
Copyright © 2011-2022 走看看