zoukankan      html  css  js  c++  java
  • 设计模式(一):简单工厂实例

    /**
     * 设计模式(一):简单工厂实例
     *
     * @author 修。
     * @version 1.0.0
     */
    package day66;
    
    /**
     *  Output接口,定义规范
     */
    interface Output{
        void out();
        void getData(String data);
    }
    
    /**
     *  输出设备的生产工厂
     */
    class OutputFactory{
        public static Output getOutput(){
            return new Printer();
        }
    }
    
    /**
     * 当Printer换成BetterPrinter后,只需让BetterPrinter实现Output接口,
     * 再把OutputFactory中的getOutput方法的返回值修改为new BetterPrinter()即可
     */
    class Printer implements Output{
        @Override
        public void out() {
            System.out.println("Printer输出了");
        }
        @Override
        public void getData(String data) {
            System.out.println(data);
        }
    }
    public class Day661 {
        private Output out;
        public Day661(Output out){
            this.out=out;
        }
        public void myOut(){
            out.out();
        }
        public void myGetData(String data){
            out.getData(data);
        }
    
        public static void main(String[] args) {
            Day661 day = new Day661(OutputFactory.getOutput());
            day.myOut();
            day.myGetData("测试");
        }
    }
    
    
    梦还远,路还长!
  • 相关阅读:
    Cisco 交换机配置的基本命令
    Mysql读写分离方案-Amoeba环境部署记录
    centos7下部署zabbix3.4+grafana
    Docker
    Linux 安装源码软件
    mysql 日志
    mysql导出导入数据
    mysql 数据库的备份和还原
    Mysql 数据库管理
    英语单词
  • 原文地址:https://www.cnblogs.com/qujialin/p/10986990.html
Copyright © 2011-2022 走看看