0

0

Java工厂模式实例解析

DDD

DDD

发布时间:2025-09-27 08:37:01

|

465人浏览过

|

来源于php中文网

原创

java程序开发中运用工厂设计模式,可以通过声明对象创建的接口,并让子类自行决定实例化哪一个具体类,从而提升对象生成的灵活性。

1、 工厂模式主要由四个核心组件构成:抽象产品、具体产品、抽象工厂以及具体工厂。其关键思想是通过具体工厂子类来完成抽象产品对象的创建,使得对象的实例化过程解耦,更易于后续扩展与维护,整体结构如图所示。

Java工厂模式实例解析

2、 接下来以一个实际案例说明该模式的应用。首先定义一个Shape接口,并在其中声明一个draw()方法,具体代码实现如下所示。

3、 创建一个名为Rectangle的类并实现Shape接口。在该类中重写draw()方法,使其打印输出"Inside Rectangle::draw() method."。实现方式如图所示,通过System.out.println语句完成输出逻辑,确保正确实现接口定义的功能。

立即学习Java免费学习笔记(深入)”;

Java工厂模式实例解析

4、 定义另一个类Square,同样实现Shape接口。在该类中重写draw()方法,输出内容为"Inside Square::draw() method."。实现后,该类即可被调用执行相应的绘图行为,展示预期信息,具体效果如图所示。

知识画家
知识画家

AI交互知识生成引擎,一句话生成知识视频、动画和应用

下载

5、 第五步是创建Circle类并实现Shape接口,在其draw()方法中输出"Inside Circle::draw() method."。该类必须覆盖接口中的抽象方法,确保运行时能正确输出指定字符串,体现出面向对象的多态机制。

6、 在完成三个实现同一接口但行为不同的类之后,下一步是创建一个ShapeFactory工厂类的对象,用于统一管理这些类的实例创建,具体结构如图所示。

Java工厂模式实例解析

7、 第七步是通过工厂类来获取各个具体类的实例,由工厂子类负责父类接口对象的具体化过程,实现创建逻辑的封装,如图所示。

8、 当项目运行后,控制台将显示三条不同的输出信息,分别对应于Rectangle、Square和Circle三个类的draw方法调用结果,完整展示了工厂模式的实际运行效果。

Java工厂模式实例解析

相关文章

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
go语言 面向对象
go语言 面向对象

本专题整合了go语言面向对象相关内容,阅读专题下面的文章了解更多详细内容。

56

2025.09.05

java面向对象
java面向对象

本专题整合了java面向对象相关内容,阅读专题下面的文章了解更多详细内容。

52

2025.11.27

java多态详细介绍
java多态详细介绍

本专题整合了java多态相关内容,阅读专题下面的文章了解更多详细内容。

15

2025.11.27

java多态详细介绍
java多态详细介绍

本专题整合了java多态相关内容,阅读专题下面的文章了解更多详细内容。

15

2025.11.27

java多态详细介绍
java多态详细介绍

本专题整合了java多态相关内容,阅读专题下面的文章了解更多详细内容。

15

2025.11.27

js 字符串转数组
js 字符串转数组

js字符串转数组的方法:1、使用“split()”方法;2、使用“Array.from()”方法;3、使用for循环遍历;4、使用“Array.split()”方法。本专题为大家提供js字符串转数组的相关的文章、下载、课程内容,供大家免费下载体验。

320

2023.08.03

js截取字符串的方法
js截取字符串的方法

js截取字符串的方法有substring()方法、substr()方法、slice()方法、split()方法和slice()方法。本专题为大家提供字符串相关的文章、下载、课程内容,供大家免费下载体验。

212

2023.09.04

java基础知识汇总
java基础知识汇总

java基础知识有Java的历史和特点、Java的开发环境、Java的基本数据类型、变量和常量、运算符和表达式、控制语句、数组和字符串等等知识点。想要知道更多关于java基础知识的朋友,请阅读本专题下面的的有关文章,欢迎大家来php中文网学习。

1502

2023.10.24

C++ 设计模式与软件架构
C++ 设计模式与软件架构

本专题深入讲解 C++ 中的常见设计模式与架构优化,包括单例模式、工厂模式、观察者模式、策略模式、命令模式等,结合实际案例展示如何在 C++ 项目中应用这些模式提升代码可维护性与扩展性。通过案例分析,帮助开发者掌握 如何运用设计模式构建高质量的软件架构,提升系统的灵活性与可扩展性。

9

2026.01.30

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Kotlin 教程
Kotlin 教程

共23课时 | 3万人学习

C# 教程
C# 教程

共94课时 | 8万人学习

Java 教程
Java 教程

共578课时 | 53.4万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号