用工厂方法模式设计一个电动自行车工厂的模拟程序(类图+源码)

本文主要是介绍用工厂方法模式设计一个电动自行车工厂的模拟程序(类图+源码),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

    • 01 | 实验内容
    • 02 | 实验StarUML画类图
    • 03 | 相应源码
    • 04 | 实验结果

01 | 实验内容

  • 用工厂方法模式设计一个电动自行车工厂的模拟程序
    要求:要为每种品牌的电动自行车提供一个子工厂,如:爱玛工厂专门负责生产爱玛牌电动自行车,雅迪工厂专门负责生产雅迪牌电动自行车。如果今后需要生产小牛牌电动自行车,只需要增加一个新的小牛电动自行车工厂即可,无须修改原有代码,使得整个系统具有更加的灵活性和可扩展性。
  • 按照以上要求设计类图和编写Java源程序。

02 | 实验StarUML画类图

在这里插入图片描述

  • 注意:
    1. 继承的线是在Composite Structure选项卡下,而不是Classes(Basic)
    2. 类图中的《create》,用的是Annotations下的text。

03 | 相应源码

interface product{public void car();
}interface factory{public product createcar();
}class AmaFactory implements factory{@Overridepublic product createcar() {return new Amacar();}
}class YadiFactory implements factory{@Overridepublic product createcar() {return new Yadicar();}
}class Amacar implements product{@Overridepublic void car() {System.out.println("爱玛电动车成功生产啦");}
}class Yadicar implements  product{@Overridepublic void car() {System.out.println("雅迪电动车成功生产啦");}
}public class Main {public static void main(String[] args) {
//        System.out.println("Hello World!");AmaFactory am =new AmaFactory();am.createcar().car();System.out.println("====== 分割线 =========");YadiFactory yadi=new YadiFactory();yadi.createcar().car();}
}

04 | 实验结果

在这里插入图片描述

这篇关于用工厂方法模式设计一个电动自行车工厂的模拟程序(类图+源码)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/355265

相关文章

VSCode中C/C++编码乱码问题的两种解决方法

《VSCode中C/C++编码乱码问题的两种解决方法》在中国地区,Windows系统中的cmd和PowerShell默认编码是GBK,但VSCode默认使用UTF-8编码,这种编码不一致会导致在VSC... 目录问题方法一:通过 Code Runner 插件调整编码配置步骤方法二:在 PowerShell

C#原型模式之如何通过克隆对象来优化创建过程

《C#原型模式之如何通过克隆对象来优化创建过程》原型模式是一种创建型设计模式,通过克隆现有对象来创建新对象,避免重复的创建成本和复杂的初始化过程,它适用于对象创建过程复杂、需要大量相似对象或避免重复初... 目录什么是原型模式?原型模式的工作原理C#中如何实现原型模式?1. 定义原型接口2. 实现原型接口3

C/C++随机数生成的五种方法

《C/C++随机数生成的五种方法》C++作为一种古老的编程语言,其随机数生成的方法已经经历了多次的变革,早期的C++版本使用的是rand()函数和RAND_MAX常量,这种方法虽然简单,但并不总是提供... 目录C/C++ 随机数生成方法1. 使用 rand() 和 srand()2. 使用 <random

QT移植到RK3568开发板的方法步骤

《QT移植到RK3568开发板的方法步骤》本文主要介绍了QT移植到RK3568开发板的方法步骤,文中通过图文示例介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一... 目录前言一、获取SDK1. 安装依赖2. 获取SDK资源包3. SDK工程目录介绍4. 获取补丁包二

Java反转字符串的五种方法总结

《Java反转字符串的五种方法总结》:本文主要介绍五种在Java中反转字符串的方法,包括使用StringBuilder的reverse()方法、字符数组、自定义StringBuilder方法、直接... 目录前言方法一:使用StringBuilder的reverse()方法方法二:使用字符数组方法三:使用自

java导出pdf文件的详细实现方法

《java导出pdf文件的详细实现方法》:本文主要介绍java导出pdf文件的详细实现方法,包括制作模板、获取中文字体文件、实现后端服务以及前端发起请求并生成下载链接,需要的朋友可以参考下... 目录使用注意点包含内容1、制作pdf模板2、获取pdf导出中文需要的文件3、实现4、前端发起请求并生成下载链接使

大数据spark3.5安装部署之local模式详解

《大数据spark3.5安装部署之local模式详解》本文介绍了如何在本地模式下安装和配置Spark,并展示了如何使用SparkShell进行基本的数据处理操作,同时,还介绍了如何通过Spark-su... 目录下载上传解压配置jdk解压配置环境变量启动查看交互操作命令行提交应用spark,一个数据处理框架

Linux虚拟机不显示IP地址的解决方法(亲测有效)

《Linux虚拟机不显示IP地址的解决方法(亲测有效)》本文主要介绍了通过VMware新装的Linux系统没有IP地址的解决方法,主要步骤包括:关闭虚拟机、打开VM虚拟网络编辑器、还原VMnet8或修... 目录前言步骤0.问题情况1.关闭虚拟机2.China编程打开VM虚拟网络编辑器3.1 方法一:点击还原VM

Android WebView无法加载H5页面的常见问题和解决方法

《AndroidWebView无法加载H5页面的常见问题和解决方法》AndroidWebView是一种视图组件,使得Android应用能够显示网页内容,它基于Chromium,具备现代浏览器的许多功... 目录1. WebView 简介2. 常见问题3. 网络权限设置4. 启用 JavaScript5. D

Java捕获ThreadPoolExecutor内部线程异常的四种方法

《Java捕获ThreadPoolExecutor内部线程异常的四种方法》这篇文章主要为大家详细介绍了Java捕获ThreadPoolExecutor内部线程异常的四种方法,文中的示例代码讲解详细,感... 目录方案 1方案 2方案 3方案 4结论方案 1使用 execute + try-catch 记录