抽象工厂模式实例

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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();

}

}

相关文档
最新文档