zoukankan      html  css  js  c++  java
  • Java-马士兵设计模式学习笔记-工厂模式-简单工厂

    一、概述

    1.目标:要控制任意类型交通工具的生产模式

    2.目标有两层意思(1)任意类型 (2)生产模式,所以对应的,要这两个层面上抽象(Movable,VehicleFactory),利用接口,实现多态

    二、类结构

    1.Interface Movable.java

    2.Car.java

    3.Plane.java

    4.Interface VehicleFactory.java

    5.CarFactory.java

    6.PlaneFactory.java

    三、代码

    1.Movable.java

    public interface Movable {
    	void run();
    }
    

      

    2.Car.java

    public class Car implements Movable {
    
    	public Car() {
    	}
    
    	public void run() {
    		System.out.println("Car running...............");
    	}
    	
    }
    

      

    3.Plane.java

    public class Plane implements Movable {
    
    	@Override
    	public void run() {
    		System.out.println("飞机飞翔中。。。。");
    	}
    
    }
    

      

    4.VehicleFactory.java

    public interface VehicleFactory {
    	Movable create();
    }
    

      

    5.CarFactory.java

    public class CarFactory implements VehicleFactory {
    
    	private static Car car = new Car();
    	@Override
    	public Movable create() {
    		return car;
    	}
    
    }
    

      

    6.PlaneFactory.java

    public class PlaneFactory implements VehicleFactory {
    
    	private static Plane plane = new Plane();
    	@Override
    	public Movable create() {
    		return plane;
    	}
    
    }
    

      

    7.Test.java

    public class Test {
    	
    	@org.junit.Test
    	public void test() {
    		VehicleFactory factory = new CarFactory();
    		Movable m1 = factory.create();
    		m1.run();
    		
    		Movable m2 = factory.create();
    		System.out.println(m1 == m2);
    		System.out.println(m1.equals(m2));
    		
    		System.out.println("******************************");
    		
    		factory = new PlaneFactory();
    		m1 = factory.create();
    		m1.run();
    		
    		m2 = factory.create();
    		System.out.println(m1 == m2);
    		System.out.println(m1.equals(m2));
    	}
    }
    

      

    8.测试结果

  • 相关阅读:
    抽象类 接口 抽象方法 虚方法【基本说明】
    安装mongoDB
    django配置templates、static、media和连接mysql数据库
    python虚拟环境virtualenv下安装MySQLpython
    django中widget小部件
    django使用mongodb建表
    thinkphp5使用redis
    python虚拟环境virtualenv
    php开启redis扩展
    纯CSS的下拉菜单
  • 原文地址:https://www.cnblogs.com/shamgod/p/4586349.html
Copyright © 2011-2022 走看看