设计模式-抽象工厂设计模式

来源:互联网 发布:信息收集软件 编辑:程序博客网 时间:2024/06/05 22:40

模式概述:抽象工厂模式是所有形态的工厂模式中最为抽象和最具一般性的一种形态。抽象工厂模式是指当有多个抽象角色时,使用的一种工厂模式。抽象工厂模式可以向客户端提供一个接口,使客户端在不必指定产品的具体的情况下,创建多个产品族中的产品对象。根据里氏替换原则,任何接受父类型的地方,都应当能够接受子类型。因此,实际上系统所需要的,仅仅是类型与这些抽象产品角色相同的一些实例,而不是这些抽象产品的实例。换言之,也就是这些抽象产品的具体子类的实例。工厂类负责创建抽象产品的具体子类的实例。

代码示例:

public class Audi01 extends Audi {    public Audi01() {        System.out.println("创造了Audi01汽车");    }}
public class Audi02 extends Audi {    public Audi02() {        System.out.println("创造了Audi02汽车");    }}
public class BMW01 extends BMW {    public BMW01() {        System.out.println("创造了BMW01汽车");    }}
public class BMW02 extends BMW {    public BMW02() {        System.out.println("创造了BMW02汽车");    }}

工厂接口及实现类:

public interface Factory {    //创造Audi的方法    Audi createAudi();    //创造BMW的方法    BMW createBMW();}
public class Factory01 implements Factory {    @Override    public Audi createAudi() {        return new Audi01();    }    @Override    public BMW createBMW() {        return new BMW01();    }}
public class Factory02 implements Factory {    @Override    public Audi createAudi() {        return new Audi02();    }    @Override    public BMW createBMW() {        return new BMW02();    }}

测试类及效果:
这里写图片描述

0 0
原创粉丝点击