• 设计模式


     

    package com.swt.dp.factory;
    
    /**
     * 书
     */
    public abstract class Book {
    
        /**
         * 打印书籍名字
         */
        public abstract void printName();
    
    }
    

      

    package com.swt.dp.factory;
    
    /**
     * 英语书
     */
    public class EnglishBook extends Book {
    
        @Override
        public void printName() {
            System.out.println("this is 《English Book》");
        }
    }
    

      

    package com.swt.dp.factory;
    
    /**
     * Java编程
     */
    public class JavaBook extends Book {
    
        @Override
        public void printName() {
            System.out.println("this is 《Java Book》");
        }
    
    }
    

      

    package com.swt.dp.factory;
    
    /**
     * 数学书
     */
    public class MathematicsBook extends Book {
    
        @Override
        public void printName() {
            System.out.println("this is 《Mathematics Book》");
        }
    
    }
    

      

    package com.swt.dp.factory;
    
    /**
     * 简单工厂模式
     */
    public class BookFactory {
    
        /**
         * 生产书籍
         * @param name  书籍名字
         * @return      书籍
         */
        public static Book creatBook(String name) {
            switch (name) {
                case "English" : {
                    return new EnglishBook();
                }
                case "Java" : {
                    return new JavaBook();
                }
                case "Mathematics" : {
                    return new MathematicsBook();
                }
                default:{
                    break;
                }
            }
            return null;
        }
    
    }
    
    package com.swt.dp.factory;
    
    public class Client {
    
        public static void main(String[] args) {
            Book book = BookFactory.creatBook("English");
            book.printName();
    
            book = BookFactory.creatBook("Java");
            book.printName();
    
            book = BookFactory.creatBook("Mathematics");
            book.printName();
        }
    
    }
    

     打印

    this is 《English Book》
    this is 《Java Book》
    this is 《Mathematics Book》
    

      

     

  • 相关阅读:
    COGS727 [网络流24题] 太空飞行计划
    Bzoj1692 洛谷P2870 [Usaco2007 Dec]队列变换
    Bzoj1029 [JSOI2007]建筑抢修
    Bzoj3168 [Heoi2013]钙铁锌硒维生素
    Bzoj4566 [Haoi2016]找相同字符
    Bzoj4771 七彩树
    Bzoj2597 [Wc2007]剪刀石头布
    Bzoj4773 负环
    HDU5772 String problem
    Bzoj1324 Exca王者之剑
  • 原文地址:https://www.cnblogs.com/song-wentao/p/7573615.html
Copyright © 2020-2023  润新知