一个电器工厂可以生产多种类型的电器,如海尔工厂可以生产海尔电视机、海尔空调等,TCL工厂可以生产TCL电视机,TCL空调等,相同品牌的电器构成一个产品族,而相同类型的电器构成了一个产品等级结构,现使用

简介: 该博客文章通过UML类图和Java源码示例,演示了如何使用抽象工厂模式模拟电器工厂生产不同品牌和类型的电器,如海尔和TCL的电视机和空调。

一个电器工厂可以生产多种类型的电器,如海尔工厂可以生产海尔电视机、海尔空调等,TCL工厂可以生产TCL电视机,TCL空调等,相同品牌的电器构成一个产品族,而相同类型的电器构成了一个产品等级结构,现使用

一个电器工厂可以生产多种类型的电器,如海尔工厂可以生产海尔电视机、海尔空调等,TCL工厂可以生产TCL电视机,TCL空调等,相同品牌的电器构成一个产品族,而相同类型的电器构成了一个产品等级结构,现使用抽象工厂模拟该场景。要求使用相关的工具绘制UML类图并严格按照类图的设计编写程序实现。

uml类图
在这里插入图片描述
源码:

package 抽象工厂实现电子器件;

public interface DianQiFactory {
    public Kongtiao createkongtiao();//抽象工厂
    public Tv createtv();

}

package 抽象工厂实现电子器件;

public interface Kongtiao {  //空调的抽象产品
    public void display();

}

package 抽象工厂实现电子器件;

public interface Tv {//电视的抽象产品
    public void display();

}

package 抽象工厂实现电子器件;

public class HairerFactory implements DianQiFactory {

    public Kongtiao createkongtiao() {   //海尔工厂生产海尔空调

        return new Hairer_Kong_Tiao();
    }

    public Tv createtv() {                  //海尔工厂生产海尔电视节
        return new Hairer_Tv();
    }

}

package 抽象工厂实现电子器件;

public class TvFactory implements DianQiFactory {

    @Override
    public Kongtiao createkongtiao() {
        // TODO 自动生成的方法存根
        return new Tcl_Kong_tiao();
    }

    @Override
    public Tv createtv() {
        // TODO 自动生成的方法存根
        return new Tcl_Tv();       
    }

}

package 抽象工厂实现电子器件;

public class Hairer_Kong_Tiao implements Kongtiao {

    @Override
    public void display() {
        // TODO 自动生成的方法存根
        System.out.println("海尔空调");

    }

}

package 抽象工厂实现电子器件;

public class Hairer_Tv implements Tv {

    @Override
    public void display() {
        // TODO 自动生成的方法存根
        System.out.println("海尔电视机");

    }

}

package 抽象工厂实现电子器件;

public class Tcl_Kong_tiao implements Kongtiao {

    @Override
    public void display() {
        // TODO 自动生成的方法存根
 System.out.println("TCL空调");
    }

}

package 抽象工厂实现电子器件;

public class Tcl_Tv implements Tv {


    public void display() {
        // TODO 自动生成的方法存根
        System.out.println("TCL电视机");

    }

}

package 抽象工厂实现电子器件;

public class Client {

    public static void main(String[] args) {
        // TODO 自动生成的方法存根

        DianQiFactory factory1, factory2; // 两个抽象工厂
        Kongtiao k1, k2; // 空调两个抽象产品
        Tv tv1, tv2; // 电视机两个抽象产品

        factory1 = new HairerFactory(); // factory1 为具体海尔工厂
        k1 = factory1.createkongtiao();
        tv1 = factory1.createtv();
        k1.display();
        tv1.display();

        factory2 = new TvFactory();// factory2位具体的TCL工厂
        k2 = factory2.createkongtiao();// 工厂创建空调
        tv2 = factory2.createtv();// 工厂创建电视机
        k2.display();
        tv2.display();

    }

}
相关文章
|
数据采集 人工智能 供应链
如何在一年内建成一座 5G 智能制造工厂
智能制造是制造业加速数字化变革核心抓手。通过云计算、大数据、人工智能、物联网等数字技术与先进制造技术的深度融合,全面优化从研发、供应链、工厂运营到营销、销售、服务等各个环节,将提升企业的生产和运营效率,降低制造和维修成本,提高营销和服务体验。随着变革进一步进入“深水区”,这还将助力制造业实现高质量发展,甚至是商业模式创新和产业升级。
159 0
|
5G iOS开发
全国携号转网正式启动;果冻有家,房联网概念的平台化应用。
全国携号转网正式启动;果冻有家,房联网概念的平台化应用。
496 0
设计一个卖不同种类车的4s店
# 定义奔驰车类 class BenchiCar(object): # 定义车的方法 def move(self): print('---奔驰车在移动---') def stop(self): print('---奔驰车停车了---') #...
820 0
|
物联网 大数据 云计算
阿里云与飞利浦第一步:让城市路灯联网?
本文讲的是阿里云与飞利浦第一步:让城市路灯联网?,5月28日,飞利浦(中国)与阿里巴巴集团正式签订战略合作谅解备忘录。阿里巴巴有意向飞利浦提供云计算服务,并探求在智能医疗、智慧城市和移动互联网生活三大领域的合作。
1423 0