1、代码:
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、总结:
工厂模式属于创建型模式,设计思路是定义一个接口表示一个类型,再定义多个属于该类型的实现类实现接口中的方法。
最后再写一个工厂类,定义一个接口返回类型的方法,参数为实现类的名字,根据不同的名字调用相应的类模拟生产相应的产品。
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有