zoukankan      html  css  js  c++  java
  • 设计模式之GOF23工厂模式02

    抽象工厂模式

    不能添加单个产品,产品族

    public interface Seat {
      void anmo();
    }
    class GoodSeat implements Seat {
     @Override
     public void anmo() {
       System.out.println("可以按摩");  
     }
    }
    class LowSeat implements Seat {
     @Override
     public void anmo() {
       System.out.println("不可以按摩");  
     }
    }

    public interface Tyre {
      void piaoyi();
    }
    class GoodTyre implements Tyre{
     @Override
     public void piaoyi() {
      System.out.println("可以漂移");
     }
    }
    class LowTyre implements Tyre{
     @Override
     public void piaoyi() {
      System.out.println("不可以漂移");
     }
    }

    public interface Engine {
      void run();
      void start();
    }
    class GoodEngine implements Engine {
     @Override
     public void run() {
      System.out.println("跑的快");
     }
     @Override
     public void start() {
        System.out.println("启动的快");
     }
    }
    class LowEngine implements Engine {
     @Override
     public void run() {
      System.out.println("跑的慢");
     }
     @Override
     public void start() {
        System.out.println("启动的慢");
     }
    }

    public interface CarFactory {
      Engine creatEngine();
      Seat creatSeat();
      Tyre creatTyre();
    }

    public class GoodCarFactory implements CarFactory{
     @Override
     public Engine creatEngine() {
      return new GoodEngine();
     }
     @Override
     public Seat creatSeat() {
      return new GoodSeat();
     }
     @Override
     public Tyre creatTyre() {
      return new GoodTyre();
     }
    }

    public class LowCarFactory implements CarFactory{
     @Override
     public Engine creatEngine() {
      return new LowEngine();
     }
     @Override
     public Seat creatSeat() {
      return new LowSeat();
     }
     @Override
     public Tyre creatTyre() {
      return new LowTyre();
     }
    }

    public class Client {
     public static void main(String[] args) {
     }
    }
  • 相关阅读:
    Yii2 在模块modules间跳转时,url自动加模块名
    PHP 变量的间接引用(将某一字符串转化为变量)
    windows鼠标悬停任务栏 延迟时间 修改
    dede 常用标签和调用方法汇总
    dedecms ---m站功能基础详解
    apache 2.2 和2.4 目录权限访问设置的区别
    apache httpd.conf 配置局域网访问
    ajax php 点击加载更多
    dede调用当前栏目名 、dede sql
    dede 添加 栏目缩略图
  • 原文地址:https://www.cnblogs.com/code-fun/p/11311982.html
Copyright © 2011-2022 走看看