简单工厂代码演示

 1 package com.wisezone.poly;
 2
 3 /**
 4  * 猫
 5  * @author 王东海
 6  * @2017年4月16日
 7  */
 8 public class Cat extends Animal
 9 {
10
11     @Override
12     public void eat()
13     {
14         System.out.println("猫吃鱼。。。");
15     }
16
17     @Override
18     public void run()
19     {
20         System.out.println("猫跑。。。");
21     }
22
23 }
 1 package com.wisezone.poly;
 2
 3 /**
 4  * 狗
 5  * @author 王东海
 6  * @2017年4月16日
 7  */
 8 public class Dog extends Animal
 9 {
10     @Override
11     public void eat(){
12         System.out.println("狗吃骨头。。。");
13     }
14
15     @Override
16     public void run(){
17         System.out.println("狗跑。。。");
18     }
19
20     //新增方法
21     public void watch(){
22         System.out.println("狗看家。。。");
23     }
24 }
 1 package com.wisezone.poly;
 2
 3 /**
 4  * 动物
 5  * @author 王东海
 6  * @2017年4月16日
 7  */
 8 public class Animal
 9 {
10     public void eat(){
11         System.out.println("动物吃。。。");
12     }
13
14     public void run(){
15         System.out.println("动物跑。。。。");
16     }
17 }
 1 package com.wisezone.poly;
 2 /**
 3  * 简单工厂
 4  * @author 王东海
 5  * @2017年4月16日
 6  */
 7 public class Factory
 8 {
 9     public static Animal product(String type){
10         if (type.equals("dog"))
11         {
12             return new Dog();
13         }else if (type.equals("cat")) {
14             return new Cat();
15         }
16         return new Animal();
17     }
18
19
20     public static void main(String[] args)
21     {
22         Animal an = Factory.product("cat");
23         an.eat();
24     }
25 }

结果为:

猫吃鱼。。。

时间: 2024-08-10 09:39:32

简单工厂代码演示的相关文章

(三) 简单工厂模式

转载: http://www.cnblogs.com/zuoxiaolong/p/pattern4.html 上一章我们着重讨论了代理模式,以及其实现原理,相信如果你看完了整篇博文,应该就对代理模式很熟悉了. 本章我们讨论简单工厂模式,LZ当初不小心夸下海口说不和网络上传播的教学式模式讲解雷同,所以现在感觉写一篇博文压力颇大. 如何来介绍简单工厂呢,LZ着实费了不少心思,这个模式本身不复杂,但其实越是不复杂的模式越难写出特点,因为它太简单. 为了便于各位看后面例子的时候容易理解,LZ这里先给出引

浅谈简单工厂,工厂方法,抽象工厂的使用

前言 这几天了解了工厂模式,自己也整理下思路,任何一种模式的出现都是为了让我们的程序有更好的可扩展性,工厂模式也不例外. 简单工厂 在实际的代码coding中我们在创建对象(也就是实例化一个类)的时候往往需要new class()这样来操作.举个例子: 这是项目结构 //这是一个中国人的类public class ChinesePepole { public void Show() { Console.WriteLine("I'm a {0}", this.GetType().Name

设计模式之 简单工厂模式详解

定义:从设计模式的类型上来说,简单工厂模式是属于创建型模式,又叫做静态工厂方法(Static Factory Method)模式,但不属于23种GOF设计模式之一.简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例.简单工厂模式是工厂模式家族中最简单实用的模式,可以理解为是不同工厂模式的一个特殊实现.             定义中最重要的一句话就是,由一个工厂对象决定创建出哪一种产品类的实例,这个LZ在下面会专门举一个现实应用中的例子去展现. 另外给出简单工厂模式的类图,本类图以及上面的

HeadFirst设计模式---简单工厂

简单工厂的理解 简单工厂不是设计模式的一种,只是代码规范而且.也就是说构造一个披萨工厂出来,按不同味道生产不同的披萨. 类图 抽象披萨 public abstract class AbstractPizza { public void prepare() { System.out.println("prepare pizza"); } public void bake(){ System.out.println("bake pizza"); } public voi

研磨设计模式解析及python代码实现——(一)简单工厂模式

最近在学设计模式,正巧书之前学了些python,但用的还不是很成熟.<研磨设计模式>书上只给了java代码,本着以练手为目标,我照着书上打了一遍java代码,在仔细体会其思想后,将其写成了python的代码.有不对的地方希望各位批评指正~ 具体原理不多做介绍,具体可以参考http://chjavach.iteye.com的博客,或者<研磨设计模式>的书. 一.背景介绍 接口思想: 众所周知,面向对象语言最大的特点便是封装,继承,多态这三个概念.而像Java等面向对象语言最核心的思想

iOS设计模式(代码分析系列2:简单工厂模式)

简单工厂模式示例代码下载地址, 1.简述 首先需要说明一下,简单工厂模式不属于23种GOF设计模式之一.它也称作静态工作方法模式,是工厂方法模式的特殊实现(也就是说工厂模式包含简单工厂模式).这里对简单工厂模式进行介绍,是为后面的工厂方法和抽象工厂模式做一个引子. 2.定义 "专门定义一个类来负责创建其他类的实例,被创建的实例通常具有共同的父类." 世界上就是由一个工厂类,根据传入的参数,动态地决定创建出哪一个产品类的实例. 3.结构图 简要分析结构图: ConcreteProduct

大话设计模式_简单工厂模式(Java代码)

简单的描述:一个父类.多个子类,实例化那个子类由一个单独的工厂类来进行 图片摘自大话设计模式: 运算类: 1 package com.longsheng.simpleFactory; 2 3 public class Calculate { 4 5 private double firstNum; 6 private double secondNum; 7 8 public double getFirstNum() { 9 return firstNum; 10 } 11 12 public v

简单工厂和工厂模式的合并对比代码

? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86

《大话设计模式》——读后感 (1)代码无错就是优?——简单工厂模式

本篇是我学习设计模式后的第一篇文章,由于本模式也比较简单,在此我就多啰嗦一下. 学习本模式之前请下看一下我的<大话设计模式铺垫>文章,然后回答思考如下问题: 1.UML类图看懂了吗?2.java的3大特性真的懂了吗?知道为什么要封装.继承.多态了吗? 对于和我一样的菜鸟而言,我根本就不知道什么是设计模式,那怎么办?学呗.怎么样的学习设计模式呢?看UML类图,然后结合代码加以理解,废话不多刷,先上图: 从图中我独处了如下信息: 1.运算类是个抽象类,而不是接口.(不懂就去看UML类图) 2.加.