zoukankan      html  css  js  c++  java
  • java常用设计模式--抽象工厂模式简单例子

    package com.ruanyun;

    /**
    * @Auther: maxw
    * @Date: 2018/11/12 11:23
    * @Description:抽象工厂模式:与工厂方法模式不同的是,工厂方法模式中的工厂只生产单一的产品,而抽象工厂模式中的工厂生产多个产品。
    * 还有个抽象工厂方法模式 只需要在建一个 ClothesFactory的实现工厂 就实现了该模式。
    */
    public class Test7 {
    public static void main(String args[]){
    ClothesFactory adidasFactory = new AdidasFactory();
    adidasFactory.createNeiyi().look();
    adidasFactory.createDayi().look();
    adidasFactory.createWaitao().look();
    }
    }
    //定义一个衣服抽象类
    abstract class Clothes{
    abstract void look();
    }
    class Neiyi extends Clothes{
    String name;
    public Neiyi(String name) {
    this.name = name;
    }
    @Override
    void look() {
    System.out.println(name+"内衣。。。");
    }
    }
    class Dayi extends Clothes{
    String name;
    public Dayi(String name) {
    this.name = name;
    }
    @Override
    void look() {
    System.out.println(name+"大衣。。。");
    }
    }
    class Waitao extends Clothes{
    String name;
    public Waitao(String name) {
    this.name = name;
    }
    @Override
    void look() {
    System.out.println(name+"外套。。。");
    }
    }
    abstract class ClothesFactory{
    abstract Neiyi createNeiyi();
    abstract Dayi createDayi();
    abstract Waitao createWaitao();
    }
    class AdidasFactory extends ClothesFactory{
    @Override
    Neiyi createNeiyi() {
    return new Neiyi("阿迪");
    }
    @Override
    Dayi createDayi() {
    return new Dayi("阿迪");
    }
    @Override
    Waitao createWaitao() {
    return new Waitao("阿迪");
    }
    }

    
    
  • 相关阅读:
    咏南微服务架构中间件
    几个开源的clickstream 分析工具
    partiql 学习一 试用
    partiql 亚马逊开源的基于sql 的查询语言
    cube.js 最新版本的一些特性
    astronomer 企业级的airflow 框架
    neodash 构建neo4j dashboard 的工具
    开发自定义的dremio 函数
    dremio sql 操作
    dremio 生产部署推荐硬件配置
  • 原文地址:https://www.cnblogs.com/maxiw/p/9945599.html
Copyright © 2011-2022 走看看