package ch05.factory;class Auto { // 抽象产品类public void start() { // 规定各个子类应具有的行为// 此处编写任何代码都没有实际意义 (子类会重写此方法)}
}class Benz extends Auto { // 具体产品子类public void start() { // 重写父类方法System.out.println("启动奔驰");}
}class Bmw extends Auto {public void start() {System.out.println("启动宝马");}
}enum AutoType { // 具体产品类型BENZ, BMW
}class AutoFactory { // 产品工厂类public static Auto create(AutoType type) { // 静态方法switch (type) {case BENZ:return new Benz(); // 子类对象一定是父类对象case BMW:return new Bmw();default:return null;}}
}public class SimpleFactoryDemo { // 测试类public static void main(String[] args) {// 调用产品工厂的静态方法创建具体产品对象Auto a1 = AutoFactory.create(AutoType.BENZ);Auto a2 = AutoFactory.create(AutoType.BMW);a1.start(); // 使用具体产品对象a2.start();}
}

Java实例_综合实践5.简单工厂模式相关推荐

  1. 工厂模式 java场景_研磨设计模式之简单工厂模式(场景问题)

    简单工厂不是一个标准的设计模式,但是它实在是太常用了,简单而又神奇,所以还是需要好好掌握的,就当是对学习设计模式的热身运动吧.为了保持一致性,我们尽量按照学习其它模式的步骤来进行学习. 1  场景问题 ...

  2. 【软件工程综合实践】简单工厂模式之蛋糕店(完整代码)

    一.蛋糕店点餐系统 需求:设计一个蛋糕店点餐系统. 设计一个蛋糕类(Cake),并定义其两个子类(草莓蛋糕[StrawberryCake]和柠檬蛋糕[LemonCake]):再设计一个蛋糕店类(Cak ...

  3. Java实例_综合实践3.K-Means聚类算法

    编写程序实现K-Means聚类算法 (见图 4-12). K-Means是一种聚类算法,后者属于机器学习中的无监督学习,用于识别给定数据集 中的若干数据簇--即每个数据所属的分类. K-Means算法 ...

  4. python工厂模式 简书_[Python设计模式] 01 - 简单工厂模式

    设计模式的目的是让代码易维护.易扩展,不能为了模式而模式,因此一个简单的工具脚本是不需要用到任何模式的. 简单工厂模式又叫静态工厂方法模式,工厂模式家族中最简单的一种模式.这个模式的基本工作方式: 通 ...

  5. 【JAVA长虹键法】第三式 简单工厂模式(23种设计模式)

  6. java圣经_Java设计模式圣经连载(01)-简单工厂模式[转载]

    简单工厂模式是类的创建,又叫静态工厂方法(Static Factory Methord)模式.简单工厂模式是由一个工厂对象决定创造哪一种产品类的实例. 1.1.1 工厂模式的几种形态 工厂模式专门负责 ...

  7. Java继承之object类、继承小练习和继承简单工厂模式

    1.object类常见方法 (1)Java中,所有类都直接或间接继承自java.lang.Object类,Object类可以说是Java中所有类的祖先即根类 (2)Java中任何类都继承了Object ...

  8. 设计模式(一)---简单工厂模式

    1,简介:简单工厂模式,又称为静态工厂模式,是通过专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类. 2,简单工厂模式的结构 2.1:简单工厂的通用结构 2.2:示意性实现 2. ...

  9. 23中设计模式之简单工厂模式

    简单工厂模式(Simple Factory Pattern) 意图:     <1>专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类. <2>(simpl ...

最新文章

  1. 没有银弹,微服务架构改造的一条不归路。。。
  2. HTTP状态码和支持的方法
  3. Dubbo 注解驱动(Annotation-Driven)
  4. 4种分布式Session的实现方式!老大直呼666...
  5. JS对象 数组排序sort() sort()方法使数组中的元素按照一定的顺序排列。 语法: arrayObject.sort(方法函数)...
  6. 郭明錤:iPhone 13 Pro系列将有1TB储存空间
  7. 服务器中文档存储在哪,云服务器存储在哪
  8. Java常用的排序查找算法
  9. 电脑里有老版java删不掉,电脑上的一些文件老是删不掉怎么办 win7中经常出现一些文件夹删不掉...
  10. DSPE-PEG11-Mal含有马来酰亚胺基团的PEG试剂
  11. javascript:alert(document.cookie)
  12. 假事务之名,深入研究UNDO与REDO
  13. android 清除cookie,Android 获取和清除 WebView 中的 Cookie
  14. Java SE Development Kit 9.0.4 的下载安装及配置
  15. 数据挖掘——文本挖掘-关键字提取
  16. 详解 OpenCV 透视变换原理 及 实例
  17. android wifi智能硬件4g,轻便又安全的4G路由 华为随行WiFi评测
  18. android div拖动排序,鼠标拖动实现DIV排序示例代码
  19. 《程序是怎样跑起来的》(上、中、下)
  20. 注册表修改windows软件默认打开程序

热门文章

  1. 2015年10月15日学习html基础笔记
  2. XML Json
  3. modelsim的do文件
  4. JavaWeb(二)——Http协议
  5. python写后台接口请求出错_python登录接口测试问题记录与解决
  6. 常见移动机器人运动学模型
  7. 用tcc自己编译自己
  8. MFC 设置光标 SetCursor(HCURSOR hCursor)用法
  9. php 分布式环境 启动,极简.高性能.分布式框架,可运行于多种环境(apache/php-fpm,swoole)...
  10. 用电梯服务器怎样解电梯显示E34,默纳克品牌电梯故障代码e41怎么处理