`

简单工厂方法实现

阅读更多
简单工厂方法并不属于真正的设计模式
  • 首先创建所有鸟类的祖先类
  • package com.simplyFactory;
    
    public interface Bird {
    	public void fly();
    	public void sing();
    
    }
    

  • 创建两个实现类Eagle和Dove
  • package com.simplyFactory;
    
    public class Eagle implements Bird {
    
    	public void fly() {
    		System.out.println("I am eagle, I can fly high");
    	}
    
    	public void sing() {
    		System.out.println("I can sing loud");
    	}
    }
    
    

    package com.simplyFactory;
    
    public class Dove implements Bird {
    
    	public void fly() {
    		System.out.println("I am a dove, I can fly");
    	}
    
    	public void sing() {
    		System.out.println("I am a dove , I can't sing");
    	}
    
    }
    

  • 定义简单鸟类工厂SimpleBirdFactory
  • package com.simplyFactory;
    
    public class SimpleBirdFactory {
    	public static Bird createBird(String type) {
    		Bird bird = null;
    		
    		if (type.equals("dove")) {
    			bird = new Dove();
    		} else if (type.equals("eagle")) {
    			bird = new Eagle();
    		}
    		return bird;
    	}
    
    }
    
    

  • 编写测试程序
  • package com.simplyFactory;
    
    public class testFactory {
    
    	public static void main(String[] args) {
    				
    		Bird dove = SimpleBirdFactory.createBird("dove");
    		dove.fly();
    		dove.sing();
    		
    		Bird eagle = SimpleBirdFactory.createBird("eagle");
    		eagle.fly();
    		eagle.sing();
    		
    	}
    }
    
    


  • 总结
  • 1.工厂方法可以静态,也可以非静态,用静态的话不需要实例化一个工厂
    2.简单工厂封装了具体实现

    分享到:
    评论

    相关推荐

      工厂模式:简单工厂模式、工厂方法模式、抽象工厂模式

      简单工厂模式是最简单的工厂模式实现,它提供一个静态方法或者类来创建对象,这个类通常被称为“工厂”。用户只需要知道具体的产品类型,而无需了解如何创建对象。简单工厂模式适用于产品种类较少且相对固定的情况...

      简单工厂模式-工厂方法模式-抽象工厂模式

      在软件设计模式中,工厂模式是一组非常基础且实用的设计模式,主要分为简单工厂模式、工厂方法模式和抽象工厂模式。这些模式都是为了解决对象创建的问题,通过封装对象的创建过程,使得代码更加灵活,易于扩展和维护...

      简单工厂-工厂方法-抽象工厂 对比总结

      **工厂方法模式** 是一种更灵活的实现,它将具体产品的创建过程委托给子类。工厂方法模式定义了一个创建对象的接口,但由子类决定要实例化的类是哪一个。工厂角色不再负责所有的产品创建,而是将这个责任"下放"给...

      软件设计之工厂方法模式,源代码

      本案例通过一个简单的计算器程序来演示工厂方法模式的应用。该程序支持加、减、乘、除四种运算。 #### 三、代码分析 1. **定义抽象产品** ```java interface Operation { public int getResult(int numA, int ...

      利用简单工厂模式,实现简易计算器程序

      在这个任务中,我们需要使用Java面向对象编程来实现一个简易计算器程序,它具备加、减、乘、除四种基本运算功能。以下是具体的设计思路和实现方式: 1. **软件设计目标**: - **单一职责原则**:确保每个类或方法...

      抽象工厂,工厂方法,简单工厂

      在软件设计模式中,"抽象工厂"、"工厂方法"和"简单工厂"都是创建型设计模式,它们都用于封装对象的创建过程,提供了一种间接的途径来创建对象,从而使得代码更加灵活,易于扩展。下面将详细介绍这三个工厂模式。 ##...

      设计模式-工厂方法模式

      比如,如何在具体的编程语言中实现工厂接口,如何设计具体工厂类,以及如何编写测试代码来验证工厂方法模式的正确性。 测试代码(如`Test1`)可以包含对工厂方法模式的多种场景模拟,如测试创建不同产品的正确性,...

      几种工厂模式实现方法和比较

      在C#中,工厂模式有多种实现方式,例如简单工厂模式、工厂方法模式和抽象工厂模式。这里我们将重点讨论抽象工厂模式,因为它可以创建一系列相关或相互依赖的对象,而无需指定它们的具体类。 在上述描述中,首先提到...

      用工厂方法模式重构简易计算器 源代码+实验报告

      本项目通过工厂方法模式重构简易计算器,旨在展示这种模式在实现基本计算功能时的优势。 首先,我们要理解工厂方法模式的基本概念。这是一种创建型设计模式,它定义了一个创建对象的接口,但允许子类决定实例化哪一...

      设计模式之工厂方法、简单工厂、抽象工厂

      虽然简单工厂模式易于理解和实现,但它的缺点在于违反了“开闭原则”,即对扩展开放,对修改关闭。当需要添加新产品时,可能需要修改工厂类的源代码。 3. **抽象工厂(Abstract Factory)**: 抽象工厂模式提供了...

      简单工厂设计模式实现的计算器

      在这个实现的计算器项目中,我们利用了简单工厂模式,结合了面向对象编程的三大特性——继承、封装和多态,来构建一个灵活且易于扩展的计算器系统。 首先,我们来看一下简单工厂模式的核心思想。在该模式中,我们...

      抽象工厂模式+工厂方法模式+策略模式+类图实现手机加工厂

      在手机加工厂的场景中,每个手机品牌工厂都可以看作是工厂方法模式的一个实现,它们各自负责特定型号手机的组装和测试,例如iPhone工厂负责制造iPhone X,而Samsung工厂则负责生产Galaxy S系列。 然后,我们引入**...

      简单工厂模式计算器(C#源码)

      这些方法的实现会调用简单工厂模式生成的运算符对象来执行实际的计算操作。 5. **四则运算**:计算器的核心功能是进行基本的数学运算,包括加法(+)、减法(-)、乘法(*)和除法(/)。这些运算符可以通过单独的...

      简单工厂模式,工厂方法模式,抽象工厂模式

      本文将深入探讨三种工厂模式:简单工厂模式、工厂方法模式以及抽象工厂模式,并结合源码分析其应用场景和优缺点。 1. 简单工厂模式 简单工厂模式(Simple Factory Pattern)是一种静态工厂方法,它通过一个公共的...

      设计模式——简单工厂 VS 工厂方法

      简单工厂更适合快速实现,而工厂方法则为未来的扩展留有余地。在实际项目开发中,根据需求选择合适的设计模式是非常重要的,这直接影响到软件的可维护性和扩展性。通过理解和熟练运用这些设计模式,我们可以编写出...

      工厂模式(简单工厂,普通工厂,抽象工厂)代码java

      工厂模式分为三种主要类型:简单工厂模式、普通工厂模式(也称为工厂方法模式)和抽象工厂模式。 1. **简单工厂模式**: - 简单工厂模式中,有一个中心工厂类,它负责根据输入条件(通常是一个参数)来创建具体的...

      简单工厂模式(四则运算)

      2. 简单工厂模式中的静态工厂方法限制了继承,无法通过子类化来扩展工厂。 在这个示例中,"工具"标签可能指的是工厂类作为一种通用的代码工具,可以用于各种需要根据条件创建不同对象的场景。源码标签则表明提供了...

      工厂模式实现的简单计算器

      在这个"工厂模式实现的简单计算器"中,我们看到的是工厂模式在实际应用中的一个实例。 首先,我们来详细了解一下工厂模式。工厂模式有三种主要的形式:简单工厂模式、工厂方法模式和抽象工厂模式。这里提到的应该是...

      C#设计模式(3)——工厂方法模式.pdf

      工厂方法模式之所以可以解决简单工厂的模式,是因为它的实现把具体产品的创建推迟到子类中,此 时工厂类不再负责所有产品的创建,而只是给出具体工厂必须实现的接口,这样工厂方法模式就可以允许 系统不修改工厂类...

      抽象方法简单工厂

      在Java等面向对象编程语言中,我们可以利用抽象类和抽象方法来实现简单工厂模式。 首先,我们需要理解什么是抽象方法。在面向对象编程中,抽象方法是一种没有具体实现的方法,它只有声明,没有具体的操作。这样的...

    Global site tag (gtag.js) - Google Analytics