工厂模式是我们最常用的实例化对象模式了,是用工厂方法代替new操作的一种模式。工厂模式就相当于创建实例对象的new,我们经常要根据类Class生成实例对象。虽然使用工厂模式可能会多做一下工作,但是会给系统带来很好的扩展性和尽量少的维护工作。
1.创建接口
public interface fruit(){
//提供抽象方法
void eat();
}
2.创建实现类
public class Apple implements fruit{
@override//重写接口方法
public void eat(){
System.out.println("吃苹果");
}
}
public class Orange implements fruit{
@override//重写接口方法
public void eat(){
System.out.println("吃橘子");
}
}
3.创建工厂类
工厂类的作用是根据不同的参数完成对象的实例化
public class FactoryDemo{
//获取水果的方法
public fruit getFruit(String fruitname){
//依据参数进行判断
if("apple".equalsIgnoreCase(fruitname)){
return new Apple();
}
if("orange".equalsIgnoreCase(fruitname)){
return new Orange();
}
return null;
}
}
4.调用工厂类
//测试类
public class Test{
public static void main(String[] args){
//创建工厂对象
FactoryDemo factory = new FactoryDemo();
//调用方法返回对象
Fruit fruit1 = factory.getFruit("apple");
fruit1.eat();
Fruit fruit2 = factory.getFruit("orange");
fruit2.eat();
}
}