工厂方法模式:
工厂父类(接口)负责定义产品对象的公共接口,子类工厂负责创建具体的产品对象
public interface Car {
void run();
}
public class Bike implements Car{
@Override
public void run() {
System.out.println("我是自行车");
}
}
public class Bus implements Car{
@Override
public void run() {
System.out.println("我是公交车");
}
}
public interface IFactory {
Car getCar();
}
public class BikeFactory implements IFactory {
@Override
public Car getCar() {
return new Bike();
}
}
public class BusFactory implements IFactory{
@Override
public Car getCar() {
return new Bus();
}
}
public class Client {
public static void main(String[] args) {
IFactory factory = null;
factory = new BikeFactory();
Car bike = factory.getCar();
bike.run();
factory = new BusFactory();
Car bus = factory.getCar();
bus.run();
}
}
运行结果

网友评论