public interface BikeCompanyFactory {
Bike getBike();
}
共享单车接口
public interface Bike {
public void unlock();
}
小黄车
public class OFO implements Bike{
@Override
public void unlock() {
// TODO Auto-generated method stub
System.out.println("滴滴滴");
}
}
public class OfoFactory implements BikeCompanyFactory {
@Override
public Bike getBike() {
// TODO Auto-generated method stub
return new OFO();
}
}
摩拜单车
public class MoBike implements Bike{
@Override
public void unlock() {
// 圣诞节活动
System.out.println("叮叮当,叮叮当,铃儿响叮当");
}
}
public class MoBikeFactory implements BikeCompanyFactory {
@Override
public Bike getBike() {
// TODO Auto-generated method stub
return new MoBike();
}
}
测试类
public class BikeTest {
public static void main(String[] args) {
BikeCompanyFactory bikeCompanyFactory = new MoBikeFactory();
Bike bike = bikeCompanyFactory.getBike();
bike.unlock();
}
}
输出结果
叮叮当,叮叮当,铃儿响叮当
工厂模式: 定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到其子类.