面向对象编程永远在考虑:解藕和复用。

设计模式是前辈总结的结果,这些模式都是基于问题本身的抽象,活学活用才是王道。

///

简单工厂模式具有面向对象编程的基本优点:封装、继承和多态。

/*** Created by hero on 16-3-29.*/
public abstract class Operation {private double numberA;private double numberB;public double getNumberA() {return numberA;}public void setNumberA(double numberA) {this.numberA = numberA;}public double getNumberB() {return numberB;}public void setNumberB(double numberB) {this.numberB = numberB;}public abstract double getResult();
}

/*** Created by hero on 16-3-29.*/
public class OperationAdd extends Operation {@Overridepublic double getResult() {return getNumberA() + getNumberB();}
}

View Code

/*** Created by hero on 16-3-29.*/
public class OperationSub extends Operation {@Overridepublic double getResult() {return getNumberA() - getNumberB();}
}

View Code

/*** Created by hero on 16-3-29.*/
public class OperationFactory {public static Operation getOperatioin(String op) {Operation operation = null;switch (op) {case "+":operation = new OperationAdd();break;case "-":operation = new OperationSub();break;}return operation;}
}

public class Main {public static void main(String[] args) {Operation operation = OperationFactory.getOperatioin("+");operation.setNumberA(1);operation.setNumberB(2);System.out.println(operation.getResult());}
}

转载于:https://www.cnblogs.com/littlehoom/p/5335344.html

第一章 简单工厂模式相关推荐

  1. 第一章 —— 简单工厂模式(节选自:《大话设计模式》)

    1.4 面向对象编程 所有编程初学者碰到问题都会直觉地用计算机能够理解的逻辑来描述和表达待解决的问题及具体的求解过程.这其实是用计算机的方式去思考,比如计算器这个程序:先要求输入两个数和运算符号,然后 ...

  2. 设计模式第一篇——简单工厂模式&类图

    从今天开始,小菜决定记录下来自己学习设计模式的过程,并总结每天所学内容记录在博客中. 以编写计算器程序为例,有+,-,*,/--很多种运算,因此需要if,else或switch,case进行判断,当有 ...

  3. 基于简单工厂模式的计算器程序

    这个计算器是我学Java时写的第一个Swing程序,后来我读<大话设计模式>的第一章简单工厂模式恰好也是计算器,于是就改进了之前这个. 源代码下载:https://github.com/m ...

  4. [Python设计模式] 第1章 计算器——简单工厂模式

    github地址:https://github.com/cheesezh/python_design_patterns 写在前面的话 """ 读书的时候上过<设计模 ...

  5. 大话设计模式之爱你一万年:第三章 创建型模式:工厂模式:我想让你坐在宝马里笑:3.工厂模式之简单工厂模式

    在没有工厂的时代,客户真的什么都要操心,随着社会的进步,终于引来了工业革命. 一.引言 在没有工厂的时代,客户需要知道怎么去创建一款车,客户和车的生产就紧密耦合在一起了. 为了降低耦合,就出现了工厂类 ...

  6. 《javascript设计模式》笔记之第七章:工厂模式

    在读了这章之后,根据我个人现在的理解,工厂模式就是:将一个类或者一个方法称为一个工厂,然后再将一些模块交给这个工厂,让这个工厂按照给它的不同模块产出不同的实例. 下面为正文: 一:简单工厂: 例子: ...

  7. (1)简单工厂模式C++实现

    简单工厂模式C++实现 例子来源于<大话设计模式>第一章--实现一个计算器 #include<iostream> #include<string>using nam ...

  8. GOLANG工厂模式、简单工厂模式、抽象工厂模式、创建者模式

    设计模式可以大大提高代码复用性,使得程序的修改更加灵活.另外将各个功能模块抽象解耦出来,在某个模块需要更改时不至于会对整体代码进行修改,解耦的好的话只简单修改几个地方即可以切换某个模块在实现上的切换, ...

  9. 简单工厂模式(StaticFactoryMethod)

    来华北电力大学数理系LSGO软件技术团队学习Coding,我通常第一个就讲"简单工厂模式",这一讲不仅仅是讲模式,更主要的是让大家体会什么是软件系统的"可复用" ...

最新文章

  1. 开发日记-20190715 关键词 读书笔记 《Perl语言入门》Day 9
  2. 如何下载和离线安装Chrome的CRX扩展文件包
  3. 国外优秀技术站点推荐
  4. M1芯片版mac软件安装出现异常怎么办?解决方法来了
  5. macbook linux 双系统,MacBook Air 安装 Ubuntu 双系统
  6. 微软官方Microsoft文档地址
  7. Nginx学习总结(14)——Nginx配置参数详细说明与整理
  8. C语言和设计模式(工厂模式)
  9. @程序员,2019 年软件开发新趋势必知!
  10. [转帖]ESXi 网卡绑定 增加吞吐量的方法
  11. linux命令学习--sort排序命令
  12. 计算机组成原理 唐朔飞 知识点,计算机组成原理知识点总结(唐朔飞版)
  13. web应用渗透测试流程
  14. 二维码生成器如何制作圆形二维码
  15. 透明flash蒲公英动画素材
  16. WinAPI之ReleaseSemaphore
  17. CSS单行文本溢出显示省略号
  18. 夕夕博士的视频观后笔记集合~
  19. 此计算机未连接到网络.单击以连接,此计算机无法连接到家庭组win7
  20. npm安装依赖报错 unable to resolve dependency tree....

热门文章

  1. mysql having
  2. cisco 动态多点***原理
  3. replace 替换字符串
  4. 技巧心得:Linux技巧小总结
  5. [转载]中国公历算法
  6. oracle rownum 学习
  7. 记录一次K8s-Flannel插件的坑
  8. MySQL【案例讲解】单行函数
  9. MySQL高级 - like模糊匹配
  10. zookeeper的设计猜想-Follower角色