23种设计模式之工厂模式(Java语言实现)

2021-04-27 09:41:59 浏览数 (1)

                                  23种设计模式之工厂模式

1、代码:

代码语言:javascript复制
package com.design.partterns;
/**
 * 23种设计模式之工厂模式
 * @author com
 *
 */
public class FactoryParttern {

	public static void main(String[] args) {
		FactoryParttern car = new FactoryParttern();
		car.getCarType("Train").run();
		car.getCarType("Bus").run();
		car.getCarType("Taxi").run();
		car.getCarType("Motor").run();
	}
	public Car getCarType(String carType) {
		if(carType == null) {
			return null;
		}if(carType.equalsIgnoreCase("Train")) {
			return new Train();
		}if(carType.equalsIgnoreCase("Bus")) {
			return new Bus();
		}if(carType.equalsIgnoreCase("Taxi")) {
			return new Taxi();
		}if(carType.equalsIgnoreCase("Motor")) {
			return new Motor();
		}
		return null;
	}
}
/*
 * 接口类:车
 */
interface Car{
	public void run();
}
/*
 * 实现类:火车
 */
class Train implements Car{
	public void run() {
		System.out.println("火车正在发动...");
	}
}
/*
 * 实现类:客车
 */
class Bus implements Car{
	public void run() {
		System.out.println("客车正在发动...");
	}
}
/*
 * 实现类:出租车
 */
class Taxi implements Car{
	public void run() {
		System.out.println("出租车正在发动...");
	}
}
/*
 * 实现类:摩托车
 */
class Motor implements Car{
	public void run() {
		System.out.println("摩托车正在发动...");
	}
}

 2、运行结果:

3、总结:

工厂模式属于创建型模式,设计思路是定义一个接口表示一个类型,再定义多个属于该类型的实现类实现接口中的方法。

最后再写一个工厂类,定义一个接口返回类型的方法,参数为实现类的名字,根据不同的名字调用相应的类模拟生产相应的产品。

0 人点赞