zoukankan      html  css  js  c++  java
  • 设计模式之 抽象工厂模式

    abstract class AbstractProductA {
    
    }
    
    abstract class AbstractProductB {
    
    }
    
    class ProductA1 extends AbstractProductA {
    
    }
    
    class ProductA2 extends AbstractProductA {
    
    }
    
    class ProductB1 extends AbstractProductB {
    
    }
    
    class ProductB2 extends AbstractProductB {
    
    }
    
    abstract class AbstractFactory {
        public abstract AbstractProductA createProductA();
    
        public abstract AbstractProductB createProductB();
    
    }
    
    class Factory1 extends AbstractFactory {
    
        @Override
        public AbstractProductA createProductA() {
            return new ProductA1();
        }
    
        @Override
        public AbstractProductB createProductB() {
            return new ProductB1();
        }
    
    }
    
    class Factory2 extends AbstractFactory {
    
        @Override
        public AbstractProductA createProductA() {
            return new ProductA2();
        }
    
        @Override
        public AbstractProductB createProductB() {
            return new ProductB2();
        }
    }
    
    public class Client {
        public static void main(String[] args) {
            AbstractFactory factory1 = new Factory1();
            AbstractFactory factory2 = new Factory2();
            AbstractProductA a1 = factory1.createProductA();
            AbstractProductA a2 = factory2.createProductA();
            AbstractProductB b1 = factory1.createProductB();
            AbstractProductB b2 = factory2.createProductB();
        }
    }
  • 相关阅读:
    datepicker防手动输入
    [ACM]Link-Cut Tree实现动态树初探
    STL priority_queue 优先队列 小记
    hihoCoder挑战赛1 毁灭者问题
    python编程技巧
    openstack horizon 学习(3) DataTable
    Upcasting, downcasting in JAVA
    SGU 145
    URAL 1003,1004
    自建物流的无人机实验(困难)
  • 原文地址:https://www.cnblogs.com/zhonghan/p/3119228.html
Copyright © 2011-2022 走看看