工厂模式-简单工厂模式
个人理解:
- 定义:基于同一基类的不同实现类,只需要部分参数可以返回相应的对象
简单工厂模式:
UML图:

目标接口:
package com.project.factory.simplefactory;
/**
* 卡车接口
* @author Administrator
*
*/
public interface ICar {
/**
* 卡车奔跑
*/
public void run();
}
目标实现类1:
package com.project.factory.simplefactory.impl;
import com.project.factory.methodfactory.ICar;
/**
* 奥迪车
* @author Administrator
*
*/
public class Aody implements ICar {
@Override
public void run() {
System.out.println("奥迪跑");
}
public static void main(String[] args) {
int number = 3;
System.out.println(Math.ceil(3/4));
}
}
目标实现类2:
package com.project.factory.simplefactory.impl;
import com.project.factory.methodfactory.ICar;
/**
* 比亚迪车
* @author Administrator
*
*/
public class Byd implements ICar {
@Override
public void run() {
System.out.println("比亚迪跑");
}
}
简单工厂模式类:
package com.project.factory.simplefactory;
import com.project.factory.methodfactory.ICar;
import com.project.factory.simplefactory.impl.Aody;
import com.project.factory.simplefactory.impl.Byd;
/**
* 简单工厂类,传入创建车型,创建相应车型,缺陷不能添加车型
* @author Administrator
*
*/
public class SimpleFactory {
public ICar createCar(String type) {
if (type.equals("奥迪")) {
return new Aody();
} else if (type.equals("比亚迪")) {
return new Byd();
}
return null;
}
}
测试类:
package com.project.factory.simplefactory;
import com.project.factory.methodfactory.ICar;
import com.project.factory.simplefactory.impl.Aody;
import com.project.factory.simplefactory.impl.Byd;
public class Client {
public static void main(String[] args) {
SimpleFactory factory = new SimpleFactory();
ICar car = factory.createCar("奥迪");
System.out.println(car);
}
}

浙公网安备 33010602011771号