`
hlzhou
  • 浏览: 111595 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类

简单工厂模式的UML类图与源码实现

UML 
阅读更多

 

简单工厂模式的UML图

 

源码:Operation类

package Operation;

public abstract class Operation {
	double numberA=0;
	double numberB=0;
	
	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 operate();
}

 加类:

package Operation;

public class Add extends Operation {

	@Override
	public double operate() {
		return numberA+numberB;
	}
}

 减类:

package Operation;

public class Sub extends Operation {

	@Override
	public double operate() {
		return numberA-numberB;
	}
}

 乘类:

package Operation;

public class Mul extends Operation {

	@Override
	public double operate() {
		return numberA*numberB;
	}
}

 除类:

package Operation;

import java.io.IOError;

public class Div extends Operation {

	@Override
	public double operate() {
		try {
			return numberA/numberB;
		} catch (IOError e) {
			System.out.println("除数不能为空!");
			return 0;
		}
	}
}
 

工厂类:

import Operation.Add;
import Operation.Div;
import Operation.Mul;
import Operation.Operation;
import Operation.Sub;

public class OperationFactory {
	public static Operation createOperation(char operate){
		Operation operation=null;
		switch (operate) {
		case '+':
			operation=new Add();
			break;
		case '-':
			operation=new Sub();
			break;
		case '*':
			operation=new Mul();
			break;	
		case '/':
			operation=new Div();
			break;
		}
		return operation;
	}
}

 客户端:

import Operation.Operation;
public class Client {

	public static void main(String[] args) {
		Operation operation = OperationFactory.createOperation('*');
		operation.setNumberA(12);
		operation.setNumberB(6);
		System.out.println(operation.operate());
	}
}
 

 

  • 大小: 15.8 KB
分享到:
评论

相关推荐

    常用设计模式UML类图

    在这个资源包中,"常用设计模式UML类图.juth"文件很可能包含了多种经典设计模式的UML类图表示,如单例模式、工厂模式、观察者模式等。 首先,让我们来看看一些常见的设计模式: 1. **单例模式**:保证一个类只有一...

    设计模式源码与类图分析1

    本资料包"设计模式源码与类图分析1"专注于Java环境下的设计模式理解和实现,包括类图解析和具体代码示例。 首先,设计模式的核心思想是通过将解决方案抽象化,让代码结构更加清晰,易于理解和复用。在给定的标签中...

    UML之类图

    《UML之类图详解》 在软件开发领域,UML(Unified...总之,UML类图是软件设计的重要工具,它以直观的方式描绘了系统的静态结构,为开发者提供了清晰的思维模型。理解和熟练应用类图,能有效提升软件开发的质量和效率。

    设计模式学习笔记(一)--简单工厂模式源码

    简单工厂模式是软件设计模式中的一种基础模式,它属于创建型模式,主要解决对象的创建问题,降低了系统与具体创建对象之间的耦合度。在这个学习笔记中,我们将深入理解简单工厂模式的概念、工作原理以及如何在实际...

    design-pattern:7大设计原则+ 23种设计模式(含UML类图)+设计模式在JDK中的源码分析Java语言

    这个压缩包文件“design-pattern:7大设计原则+ 23种设计模式(含UML类图)+设计模式在JDK中的源码分析Java语言”显然是一个关于设计模式的全面学习资源,涵盖了设计原则、多种设计模式以及它们在Java开发中的实际...

    设计模式实训教程 源码和UML图

    2. **创建型设计模式**:如工厂模式(Factory Method)、抽象工厂模式(Abstract Factory)、单例模式(Singleton)、建造者模式\Builder)和原型模式(Prototype)。这些模式用于对象的创建,使得对象的创建过程可以被控制和...

    Visual C#与UML开发实战-源码.rar

    5. **设计模式**:可能涉及一些常见的设计模式,如工厂模式、单例模式、观察者模式等,以及如何在C#中实现这些模式。 6. **项目管理**:可能包含如何使用版本控制系统(如Git)、项目构建工具(如MSBuild)和自动化...

    常见设计模式的解析和实现(C++)含源码

    1. 创建型模式:这类模式主要关注对象的创建,如工厂模式(Factory Method)、抽象工厂模式(Abstract Factory)、单例模式(Singleton)、建造者模式(Builder)和原型模式(Prototype)。它们提供了灵活的方式来...

    设计模式汇总_圣思园Java版

    在设计模式的学习中,UML类图用于描绘各个设计模式的结构和交互,如抽象工厂模式、单例模式、工厂方法模式等,通过图形化的方式使复杂的设计模式变得易于理解。 2. **Java源码**:每个设计模式都配有Java实现的源...

    设计模式教程

    这份“设计模式教程”包含了丰富的资源,包括详细的PPT教程、每种模式的源码实现以及UML类图,为学习者提供了一个全面理解设计模式的平台。 1. **PPT教程**: PPT教程通常会涵盖设计模式的基本概念,例如单例模式...

    尚硅谷设计模式源码笔记课件.zip

    设计模式七大原则(单一职责、接口隔离、依赖倒转、里氏替换、开闭原则、迪米特法则、合成复用)、UML类图(类的依赖、泛化和实现、类的关联、聚合和组合) 23种设计模式包括:创建型模式:单例模式(8种实现)、抽象工厂...

    java 与 uml 面向对象程序设计源码

    在学习“Java 与 UML 面向对象程序设计源码”时,你需要理解 Java 语言的特性,掌握 UML 图的各种图表,以及如何将这些理论应用到实际的源码中,以实现高效、可维护的软件设计。通过分析压缩包内的源码,可以加深对...

    Head First设计模式和HeadFirst in java 源码以及23种设计模式关系图

    《23种经典设计模式UML类图汇总.chm》文件很可能包含了这23种设计模式的统一建模语言(UML)类图,UML是一种图形化的表示方式,用于可视化系统的设计和结构,包括类、接口、协作和用例等元素。通过类图,我们可以...

    设计模式实验报告.rar

    5. **工厂模式**:工厂模式是一种创建型设计模式,它提供了一个创建对象的接口,但让子类决定实例化哪一个类。这样,工厂方法将实例化操作延迟到了子类。报告中会展示如何定义抽象工厂接口,以及如何创建具体产品类...

    java代码-23种设计模式(包含uml)

    这个压缩包包含了23种经典的设计模式,每个模式都配以Java源码和UML类图,为学习者提供了直观的理解方式。 首先,让我们逐一了解这23种设计模式: 1. 单例模式:确保一个类只有一个实例,并提供全局访问点。 2. ...

    uml对象设计与编程objectdesign

    4. **设计模式的应用**:UML常与设计模式结合使用,如工厂模式、单例模式、装饰器模式等,这些模式提供了解决常见问题的标准解决方案,使得代码更易于理解和复用。 5. **面向对象编程**:将UML对象设计转化为实际...

    抽象工厂源代码,包括基础源码,以及相应的uml例图等有效信息JAVA。.zip

    在实际开发中,抽象工厂模式常用于框架和库的构建,特别是那些需要跨平台或需要与多种相关产品进行交互的系统。它有助于保持代码的整洁和模块化,降低耦合度,使得系统更易于维护和扩展。 总的来说,这个压缩包包含...

    项目开发\J2EE项目实训——UML及设计模式

    常见的设计模式有单例模式、工厂模式、观察者模式、策略模式等。例如,单例模式确保一个类只有一个实例,适用于管理共享资源;工厂模式提供创建对象的接口,但不直接实例化对象,增强了灵活性;观察者模式用于实现...

    Java设计模式(第二版)中文版包含课件源码

    在Java中,设计模式主要分为三大类:创建型模式(如单例模式、工厂模式、抽象工厂模式、建造者模式和原型模式)、结构型模式(如适配器模式、桥接模式、装饰模式、组合模式、外观模式、享元模式和代理模式)以及行为...

    C#设计模式随书源码(光盘内容)

    创建型模式关注对象的创建,如工厂模式、单例模式;结构型模式关注如何组合对象和类,如装饰者模式、代理模式;行为型模式关注对象间通信,如策略模式、观察者模式。在这个文件夹中,读者可以找到每个模式的完整实现...

Global site tag (gtag.js) - Google Analytics