栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

JAVA抽象工厂

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

JAVA抽象工厂

之前说的简单工厂是一类工厂只能生产一类产品,比如汽车厂只能生产汽车。

但是抽象工厂不同,抽象工厂考虑的是多等级的产品的生产。同一个具体工厂生产的不同等级的产品称为一个产品族。

抽象工厂的定义:

抽象工厂是是一种为访问类提供一个创建一组相关或相互依赖对象的接口,且访问类无须指定所要产品的具体类就能得到同族的不同等级的产品的模式结构。

抽象工厂的优点:抽象工厂增强了程序的可扩展性,当增加一个新的产品族时,不需要修改原代码,满足开闭原则。

抽象工厂的缺点:当产品族中需要增加一个新的产品时,所有的工厂类都需要进行修改。增加了系统的抽象性和理解难度。

package factory;

import com.sun.xml.internal.ws.api.pipe.Engine;

public interface Abstractfactory
{
    public Engine createEngine();
    public Aircondition createAircondition();
}

class FactoryBaoma implements Abstractfactory {
    public Engine createEngine() {
        return new EngineA();
    }

    public Aircondition createAircondition() {
        return new AirconditionA();
    }
}
//定义工厂的主类

public interface Engine
{

}

class EngineA implements Engine
{
 public EngineA()
 {
     System.out.println("制造-->EngineA");
 }
}

public interface Aircondition
{

}
public class Aircondition
{

}
class AirconditionA implements Aircondition
{
    public AirconditionA()
    {
     System.out.println("制造-->AirconditionA");
    }
}
public class AirconditionB implements Aircondition
{
    public AirconditionB()
    {
        System.out.println("制造-->Aircondition");
    }
}
//定义工厂生产的产品
class Customer
{
    public  static void main(String[] args)
    {
        FactoryBaoma factoryBaoma = new FactoryBaoma();
        factoryBaoma.createAircondition();
        factoryBaoma.createEngine();
    }
}
//顾客类

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/888742.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号