抽象工厂模式实例
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Java设计模式抽象工厂模式源码
题目:根据自己的经验,设计除了电视,冰箱,空调以外的家电或者设备的利用抽象工厂模式的类图和源码。
解答:
1首先创建抽象产品类
(1)抽象产品类(Watch)手表类
public abstract class Weapon {
public abstract void playTime();
}
(2)抽象产品类(Vihicle)交通工具
public abstract class Vihicle {
public abstract void run();
}
2.具体产品类(两种抽象产品类子类的实现)
(1)手表类(Watch)有实现类WatchA,WatchB
public class WatchA extends Watch
{
public void playTime()
{
System.out.println("WhachA现在时间是.....");
}
}
public class WatchB extends Watch
{
public void playTime()
{
System.out.println("WhachB现在时间是.....");
}
}
(2)交通工具(Vihicle)有实现类VihicleA,VihicleB
public class VihicleA extends Vihicle{
public void run(){
System.out.println("VihicleA启动...");
}
}
public class VihicleB extends Vihicle{
public void run(){
System.out.println("VihicleB启动..");
}
}
3建立抽象工厂类AbstractFactory
public abstract class AbstractFactory {
public abstract Weapon createWatch();
public abstract Vihicle createVihile();
}
4具体工厂类.
(1)建立第一个工厂类AFactory它生成的具体的产品类为AWatch,AVihicle public class AFactory extends AbstractFactory{
public Foot createWatch() {
return new AWatch();
}
public Vihicle createVihile() {
return new AVihicle();
}
}
(2)建立第二个工厂类BFactory它生成的具体的产品类为BWatch,BVihicle public class BFactory extends AbstractFactory{
public Foot createWatch() {
return new BWatch();
}
public Vihicle createVihile() {
return new BVihicle();
}
}
5.测试类
public class Test {
public static void main(String[] args) {
BFactory f=new BagicFactory();
Vihicle V=f.createVihile();
V.run();
Watch w=f.createWatch();
w.playTime();
}
}