* 抽象产品类
* @author c_qiaoding
*
*/
public interface Car {
void gotoWork();
}
/**
* 具体产品类
* @author c_qiaoding
*
*/
public class Bike implements Car {
@Override
public void gotoWork() {
System.out.println("骑自行车去上班!");
}
}
/**
* 具体产品类
* @author c_qiaoding
*
*/
public class Bus implements Car {
@Override
public void gotoWork() {
System.out.println("坐公交车去上班!");
}
}
/**
* 抽象工厂类
* @author c_qiaoding
*
*/
public interface ICarFactory {
Car getCar();
}
/**
* 具体产品工厂类
* @author c_qiaoding
*
*/
public class BikeFactory implements ICarFactory {
@Override
public Car getCar() {
return new Bike();
}
}
/**
* 具体产品工厂类
* @author c_qiaoding
*
*/
public class BusFactory implements ICarFactory {
@Override
public Car getCar() {
return new Bus();
}
}
/**
* 测试类
* @author c_qiaoding
*
*/
public class Test {
public static void main(String[] args) {
ICarFactory carFactory = null;
carFactory = new BikeFactory();
carFactory.getCar().gotoWork();
carFactory = new BusFactory();
carFactory.getCar().gotoWork();
}
}
控制台输出:
骑自行车去上班!
坐公交车去上班!
本文通过一个具体的例子展示了工厂模式在Java中的实现方式。定义了一个抽象产品接口Car,并提供了两个具体的产品实现类Bike和Bus。此外,还定义了抽象工厂接口ICarFactory以及两个具体工厂BikeFactory和BusFactory来创建相应的Car实例。最后通过测试类演示了如何使用这些工厂来获取不同的交通工具实例。
7046

被折叠的 条评论
为什么被折叠?



