23模式之: 工厂方法模式demo
动物类型及子类型:
package factory_method_mode;/*** 动物类型*/ public interface Animal {/*** 发声*/void say();}/*** 猫*/ class Cat implements Animal {@Overridepublic void say() {System.out.println("喵喵!");}}/*** 狗*/ class Dog implements Animal {@Overridepublic void say() {System.out.println("旺旺!");}}
动物工厂类型:
package factory_method_mode;/*** 动物工厂类型*/ public interface AnimalFactory {/*** 创建动物*/Animal createAnimal();}
猫工厂类:
package factory_method_mode;/*** 猫工厂类*/ public class CatFactory implements AnimalFactory {/*** 创建猫*/@Overridepublic Animal createAnimal() {return new Cat();}}
狗工厂类:
package factory_method_mode;/*** 狗工厂类*/ public class DogFactory implements AnimalFactory {/*** 创建狗*/@Overridepublic Animal createAnimal() {return new Dog();}}
类图:
测试类:
package factory_method_mode;public class Client {public static void main(String[] args) {//根据设计理论建议: 使用工厂方法模式. 但实际上, 我们一般都用简单工厂模式//虽然符合了开闭原则, 但类会增多Animal c2 = new CatFactory().createAnimal();Animal d2 = new DogFactory().createAnimal();c2.say();d2.say();}}
打印结果:
喵喵! 旺旺!
谢谢声明出处!
转自: http://www.cnblogs.com/gscq073240/articles/7127712.html
转载于:https://www.cnblogs.com/gscq073240/articles/7127712.html
23模式之: 工厂方法模式demo相关推荐
- 23种设计模式之简单工厂模式,工厂方法模式,抽象工厂模式详解
工厂模式详解 1. 简单工厂模式 1.1 需求分析 1.2 使用传统方式实现 1.2.1 类图 1.2.2 代码实现 1.2.2.1 新建pizza抽象类 1.2.2.2 希腊披萨实现类 1.2.2. ...
- 23种设计模式,今天来聊聊模板模式,工厂方法模式,单例模式。
23种设计模式,今天来聊聊模板模式,工厂方法模式,单例模式. 1. 随处可见的模板模式 2. 暗含讲究的工厂方法模式 3. 单例模式隐含的坑你能看到第几层? 视频讲解如下,点击观看: [干货篇]23种 ...
- 23种设计模式——工厂方法模式
目录 回顾简单工厂模式 工厂方法模式 优缺点 工厂方法模式VS简单工厂模式 应用场景 实例 用工厂方法模式实现计算器 导出数据 回顾简单工厂模式 可以参考我的另一篇博客 工厂类角色LightSimpl ...
- python工厂模式 取代__init___浅析Python 简单工厂模式和工厂方法模式的优缺点
前言 在<设计模式>一书中工厂模式提到了: 工厂方法模式(Factory Method) 抽象工厂模式 (Abstract Factory) 但是在实际过程中还有一种工厂模式经常被使用,那 ...
- 工厂模式——三个工厂模式(简单工厂模式,工厂方法模式,抽象工厂模式)...
工厂模式在<Java与模式>中分为三类: 1)简单工厂模式(Simple Factory):不利于产生系列产品: 2)工厂方法模式(Factory Method):又称为多形性工厂: 3) ...
- 简单工厂模式,工厂方法模式,抽象工厂模式总结-java版
文章目录 LOG:更新日志 一.简单工厂模式,工厂方法模式,抽象工厂模式定义 二.三种工厂模式的优缺点以及适用场景 三.名词解释 四.简单工厂模式.工厂方法模式与抽象工厂模式之间的区别 五.抽象工厂模 ...
- 深入理解设计模式-简单工厂模式vs工厂方法模式vs抽象工厂模式对比讲解
文章目录 前言 一.简单工厂模式 1.描述 2.特点 3.优缺点 4.类图说明 二.工厂方法模式 1.描述 2.特点 3.适用场景 4.类图说明 5.简单工厂模式与工厂方法模式区别: 三.抽象工厂模式 ...
- 工厂模式(简单工厂模式和工厂方法模式)详解
简单工厂模式 (Simple Factory Pattern) 工厂方法模式 (Factory Method Pattern) 工厂模式: 工厂方法模式定义一个用于创建对象的接口,让子类决定实例化哪一 ...
- 设计模式之工厂类模式总结对比、简单工厂模式、工厂方法模式、抽象工厂模式、带反射的工厂模式、例子代码分析、最详细
1. 题目 假设某公司同时用SqlServer.MySql数据库,即会切换两数据库(不同数据库的sql语句有些许差异),同时,两数据库里均有对Users.Departments表的操作(sql代码不一 ...
- 抽象工厂模式java_面试官:说一下静态工厂模式,工厂方法模式,抽象工厂的区别吧...
静态工厂模式 用生活中的场景类比一下这三种模式,假如你想学习Java视频,你得自己到处去找资料,找资料是一个繁琐的过程,过一段时间你又想学Python视频了,你还得去找资料.现在你在学校上学,你想学J ...
最新文章
- 去某大厂三面总监面,因为迟到了5分钟,面试官当着我的面把简历扔垃圾桶了...
- IccFileHandler和IccRecords
- 网页版python叫什么-python脚本和网页有何区别
- rsync 服务快速部署手册
- eclipse html插件_欲善事先利器——IDEA 插件篇
- JavaEE编码规范
- Mac OS 系统工具使用
- vue(h5)打包apk
- Linux操作系统——vi文本编辑器
- 机房内网电脑时间自动同步器
- 是时候让《武林外传》教你反内卷了
- 新中大软件ngpower6.1单机版安装流程(WIN11)
- 【文件上传漏洞-07】中间件文件解析漏洞概述及实例——Apache、IIS和Nginx
- 会议OA项目(项目原型图介绍发布会议功能)
- 2021年山东大学程序设计精英挑战赛 真题
- Qt内存泄露工具Heob安装使用
- 工厂模式与超级英雄的那些事儿
- 关于极坐标下图像旋转与二维傅里叶变换的讨论
- 解决Win10桌面Explorer.exe占用CPU过高的问题。
- 寂静的夏夜,寂静的梦