zoukankan      html  css  js  c++  java
  • 设计模式

     

    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》
    

      

     

  • 相关阅读:
    C# 用this修饰符为原始类型扩展方法
    windows7命令行终端获取管理员模式随笔
    C语言---斐波那契问题
    C语言--pow()函数实现
    数组排序之选择排序
    求数组逆置(数组与指针实现)
    字符串函数之Strtok()函数
    for循环的灵活性
    C语言--isspace()函数实现
    异构无线网络之QOS简介
  • 原文地址:https://www.cnblogs.com/song-wentao/p/7573615.html
Copyright © 2011-2022 走看看