工厂模式是一种常见的设计模式。请实现一个玩具工厂 ToyFactory 用来产生不同的玩具类。可以假设只有猫和狗两种玩具。

样例
ToyFactory tf = ToyFactory();
Toy toy = tf.getToy(‘Dog’);
toy.talk();

Wow

toy = tf.getToy(‘Cat’);
toy.talk();

Meow

interface Toy {void talk();
}class Dog implements Toy {@Overridepublic void talk() {System.out.println("Wow");}
}class Cat implements Toy {@Overridepublic void talk() {System.out.println("Meow");}
}public class ToyFactory {public Toy getToy(String type) {if (type.equals("Dog")) {return new Dog();} else if(type.equals("Cat")){return new Cat();}return null;}
}

LintCode之玩具工厂相关推荐

  1. 玩具工厂-LintCode

    工厂模式是一种常见的设计模式.请实现一个玩具工厂 ToyFactory 用来产生不同的玩具类.可以假设只有猫和狗两种玩具. 样例: ToyFactory tf = ToyFactory(); Toy ...

  2. lintcode:形状工厂

    题目 工厂模式是一种常见的设计模式.实现一个形状工厂 ShapeFactory 来创建不同的形状类.这里我们假设只有三角形,正方形和矩形三种形状. 样例 ShapeFactory sf = new S ...

  3. php 工厂模式 使用场景,PHP设计模式之工厂模式

    序言 每一种模式都有它的定义,它的使用场景.我们从实际当中进行学习并且在相应额场景可以运用.所谓的设计模式只是一种思想,并不存在是有固定的代码.学会了思想并且对应上使用的场景,慢慢而言在开发之中这也就 ...

  4. 【23种设计模式专题】二 工厂模式

    程序猿学社的GitHub,欢迎Star github技术专题 本文已记录到github 文章目录 前言 小故事 传统方式 简单工厂(第一种) 工厂方法模式(第二种) 抽象工厂模式(第三种) 使用工厂方 ...

  5. java 简单工厂_简单工厂 - HelloJava菜鸟社区

    设计模式之简单工厂模式 工厂模式从字面上的理解来看,就是一个工厂,而实际意义也是一样的,它就是一个工厂,生产出我们需要的东西,对应现实生活中的工厂,玩具工厂就是生产出玩具的,电子工厂就是生产出各种电子 ...

  6. java/android 设计模式学习笔记(3)---工厂方法模式

    这篇来介绍一下工厂方法模式(Factory Method Pattern),在实际开发过程中我们都习惯于直接使用 new 关键字用来创建一个对象,可是有时候对象的创造需要一系列的步骤:你可能需要计算或 ...

  7. 将小部分源码设计精髓带入到开发中来(工厂模式、适配器模式、抽象类、监听器)

    前言 咋说呢,大学期间阅读过很多源码(Aop.Mybatis.Ioc.Spring Mvc-),刚开始看这些源码的时候觉得云里雾里,一个没什么代码量的人突然去接触这种商业帝国级别的成品源码的时候,根本 ...

  8. 大尺寸3D打印机:不再是“围城”!工业级3D打印的瞬发时代已来!

    3D打印产业地图将迎来大规模扩张期 弘瑞3D打印认为,纵观3D打印圈这几年的发展,覆盖应用不断拓展,以模型作为3D打印技术的主要应用输出,目前在航天.教育.文创.建筑.工业等领域已有强劲的应用势头. ...

  9. java设计模式建造_java设计模式-建造者模式

    建造者模式:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创造不同的表示. 建造者模式将一个产品的内部表象和产品的生成过程分割开来,建造对象的时候只需要指定需要建造的类型,而不必了解具体的 ...

最新文章

  1. 九九乘法表Python+Java,你知道多少?
  2. 在代码中设置RelativeLayout布局中标签的android:layout_toLeftOf、android:layout_toRightOf等属性...
  3. 重装系统后ORACLE数据库恢复
  4. 学python比较好的书-学习Python编程的最好的几本书
  5. 微软笔试题,机器人消砖块
  6. 二十万字C/C++、嵌入式软开面试题全集宝典九
  7. 谈谈- declare-styleable属性
  8. 多语言持久性:带有MongoDB和Derby的EclipseLink
  9. android o 结构光流程,惊艳亮相!一分钟看懂OPPO Find X 3D结构光技术是什么鬼,太牛了...
  10. HTML5 canvas中使用路径
  11. 30天python从入门到精通_2019最新《Python从入门到精通之30天快速学Python教程 》
  12. 形态学上的图像顶帽运算和黑帽运算是什么?
  13. 配置文件编辑和历史文件编辑代码
  14. 以太坊 Solidity 函数返回(returns)多个值 和 接收方式
  15. NavigationBar 隐藏底部边线,阴影
  16. Logic unifying接收器 绑定与取消 重新关联
  17. 将图片转成base64字符串并在JSP页面显示的Java代码
  18. 认识异或运算的本质与基本规律,0^x=x,x异或x=0,有交换律,结合律,与顺序无关
  19. 国密(国产密码)SM2、SM3、SM4 C#实现
  20. 思想,坚持,信仰,一切

热门文章

  1. RabbitMQ实战:可用性分析和实现
  2. Ipad使用Zerotier+RD Client实现远程控制windows
  3. DataCom OLT (DM4610)远程升级 ONU软件
  4. 【ML学习笔记】17:多元正态分布下极大似然估计最小错误率贝叶斯决策
  5. 2网课内容总结 1~2章节
  6. 极客爱情前传(一):老司机手把手教你帮妹子修电脑
  7. Blazor学习之旅(5)数据绑定
  8. 用Mac电脑看epub小说,哪些阅读器软件更好用?
  9. 中国科幻大片开山之作 --- 我看《流浪地球》
  10. PMP-19项目整合管理-监控项目工作