设计模式中的工厂模式可大致分为3个,简单工厂、工厂方法、抽象工厂。
今天整理的是工厂方法模式,介绍如下:
案列结构如下:
代码结构如下:
卡车:
package com.zxf.method;
//卡车(接口)
public interface Trunk_M {
public void run();
}
卡车工厂:
package com.zxf.method;
//抽象工厂
public interface TrunkFactory {
//创建卡车
public Trunk_M produceTrunk();
}
奥迪卡车:
package com.zxf.method;
public class AodiTrunk implements Trunk_M {
@Override
public void run() {
// TODO Auto-generated method stub
System.out.println("奥迪卡车启动!");
}
}
奥迪卡车工厂:
package com.zxf.method;
public class AodiTrunkFactory implements TrunkFactory {
@Override
public Trunk_M produceTrunk() {
// TODO Auto-generated method stub
return new AodiTrunk();
}
}
宝马卡车:
public class BmwTrunk implements Trunk_M {
@Override
public void run() {
// TODO Auto-generated method stub
System.out.println("宝马卡车启动!");
}
}
宝马卡车工厂:
package com.zxf.method;
public class BmwTrunkFactory implements TrunkFactory {
@Override
public Trunk_M produceTrunk() {
// TODO Auto-generated method stub
return new BmwTrunk();
}
}
顾客(测试类):
package com.zxf.method;
public class Cunstomer_M {
public static void main(String[] args) {
TrunkFactory bm = new BmwTrunkFactory();//多态的形式
bm.produceTrunk().run();
TrunkFactory ad = new AodiTrunkFactory();//多态的形式
ad.produceTrunk().run();
}
}
测试类: