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();
        }
    }
  • 相关阅读:
    C#匿名类与dynamic关键字有意思的玩法
    C#中参数化查询速度慢的原因
    拉姆达表达式的一些常用知识
    git的学习
    yield return的使用。。。
    C# Cache缓存的应用
    C# 异步编程,async与await的简单学习
    SSH
    SSM搭建手册
    PLsql快捷键
  • 原文地址:https://www.cnblogs.com/zhonghan/p/3119228.html
Copyright © 2011-2022 走看看