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("阿迪");
    }
    }

    
    
  • 相关阅读:
    Linux大文件传输(转)
    SSH登录很慢问题的解决
    tcp-ip-状态详解(转)
    shell下root用户切换其他用户运行程序
    Linux进程内存分析pmap命令(转)
    svn在linux下的使用(转)
    双重检查锁定及单例模式(转)
    深入分析Volatile的实现原理(转)
    JMM & synchronized概述(转)
    性能测试工具Locust
  • 原文地址:https://www.cnblogs.com/maxiw/p/9945599.html
Copyright © 2011-2022 走看看