zoukankan      html  css  js  c++  java
  • 普通工厂模式

    /**
     * 普通工厂方法:每个对象都会有一个工厂类进行生产,例如小米手机由纬创公司代工生产,苹果手机由富士康代工生产,也就是每个工厂只会生产一种对象
     * 模式特点:1.拥有一个对象接口(手机接口)和该对象接口的几个实现类(小米手机,苹果手机)
     *        2.拥有一个工厂接口(手机工厂)和该接口的几个实现类(纬创工厂,富士康工厂)
     */
    
    //创建手机接口
    public interface Phone {
        void call();
    }
    //苹果手机
    public class Iphone implements Phone {
        @Override
        public void call() {
            System.out.println("使用苹果手机打电话");
        }
    }
    //小米手机
    public class MIPhone implements Phone {
        @Override
        public void call() {
            System.out.println("使用小米手机打电话");
        }
    }
    //工厂接口
    public interface PhoneFactory {
        Phone createPhone();
    }
    //生产小米手机的工厂如纬创
    public class MiPhoneFactory implements PhoneFactory {
        @Override
        public Phone createPhone() {
            return new MIPhone();
        }
    }
    //生产苹果手机的工厂,如富士康
    public class IPhoneFactory implements PhoneFactory {
        @Override
        public Phone createPhone() {
            return new Iphone();
        }
    }
    class test{
        public static void main(String[] args) {
            PhoneFactory iPhoneFactory = new IPhoneFactory();
            Phone iphone = iPhoneFactory.createPhone();
            iphone.call();
            PhoneFactory miPhoneFactory = new MiPhoneFactory();
            Phone miPhone = miPhoneFactory.createPhone();
            miPhone.call();
    
    
        }
    }
  • 相关阅读:
    P7003 [NEERC2013]Hack Protection
    P6753 [BalticOI 2013 Day1] Ball Machine
    笛卡尔树-P2659 美丽的序列
    [省选联考 2020 A/B 卷] 冰火战士
    CF1166E The LCMs Must be Large
    线段树标记永久化模板
    zoj 2112 单点修改的主席树(树状数组套主席树)
    poj 2104 无修改主席树
    python中map的排序以及取出map中取最大最小值
    python之禅
  • 原文地址:https://www.cnblogs.com/yangxiaohui227/p/10905136.html
Copyright © 2011-2022 走看看