简单工厂模式 SimpleFactory

package dp01SimpleFactory;
public class Operation {
protected int numA;
protected int numB;
public int getNumA() {
return numA;
}
public void setNumA(int numA) {
this.numA = numA;
}
public int getNumB() {
return numB;
}
public void setNumB(int numB) {
this.numB = numB;
}
public int getResult(){
int result=0;
return result;
}
}
package dp01SimpleFactory;
public class OperationAdd extends Operation{
public int getResult() {
int result = numA+numB;
return result;
}
}
package dp01SimpleFactory;
public class OperationSub extends Operation{
public int getResult() {
int result = numA-numB;
return result;
}
}
package dp01SimpleFactory;
public class OperationMul extends Operation{
public int getResult() {
int result = numA*numB;
return result;
}
}
package dp01SimpleFactory;
public class OperationDiv extends Operation{
public int getResult() {
if(numB==0){
try {
throw new Exception("除数不能为0");
} catch (Exception e) {
e.printStackTrace();
}
}
int result = numA/numB;
return result;
}
}
package dp01SimpleFactory;
public class OperationFactory {
public static Operation createOperation(String operator){
Operation oper=null;
switch (operator) {
case "+":
oper=new OperationAdd();
break;
case "-":
oper=new OperationSub();
break;
case "*":
oper=new OperationMul();
break;
case "/":
oper=new OperationDiv();
break;
}
return oper;
}
}
package dp01SimpleFactory;
public class Program {
public static void main(String[] args) {
Operation oper= OperationFactory.createOperation("/");
oper.setNumA(5);
oper.setNumB(7);
int result = oper.getResult();
System.out.println(result);
}
}
简单工厂模式 SimpleFactory的更多相关文章
- IOS设计模式浅析之简单工厂模式(SimpleFactory)
概述 首先说明一下,简单工厂模式不属于23种GOF设计模式之一.它也称作静态工厂方法模式,是工厂方法模式的特殊实现.这里对简单工厂模式进行介绍,是为本系列后面的工厂方法和抽象工厂模式做一个引子. 定义 ...
- 01简单工厂模式SimpleFactory
一.什么是简单工厂模式 简单工厂模式属于类的创建型模式,又叫做静态 工厂方法模式.通过专门定义一个类来负责创建 其他类的实例,被创建的实例通常都具有共同的 父类. 二.模式中包含的角色及其职责 1.工 ...
- 设计模式——简单工厂模式(SimpleFactory Pattern)
最近做项目总是遇到这样或者那样的问题,代码不够简洁,代码可扩展性不够好,耦合度又太高了,导致经常有种想去重构又无从下手的感觉. 无意间翻出了之前买的一本书<大话设计模式>读了一遍,受益匪浅 ...
- 设计模式(3)--SimpleFactory( [1] 简单工厂模式)--创建型
1.模式定义: 简单工厂模式是类的创建模式,又叫做静态工厂方法(Static Factory Method)模式.简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例. 2.模式特点: 实现方式的 ...
- Java设计模式 -- 简单工厂模式(SimpleFactory)
一.什么是简单工厂模式 简单工厂模式属于类的创建型模式,又叫做静态工厂方法模式.通过专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类. 二.模式中包含的角色及其职责 1.工厂(C ...
- simplefactory简单工厂模式
简单工厂模式概述 又叫静态工厂方法模式,它定义一个具体的工厂类负责一些类的实例 优点 客户端不需要在负责对象的创建,从而明确了各个类的职责 缺点: 这个静态工厂类负责所有对象的创建, ...
- 设计模式-简单工厂模式(SimpleFactory)
简单工厂模式又叫静态工厂模式,,通过定义一个类(FruitFactory)来负责创建其他类的实例,被创建的实例通常都具有相同的父类(Fruit). 角色和职责: 1.工厂角色(Factory)-Fru ...
- C#设计模式之简单工厂模式(Simple Factory)
1. 概述 简单工厂模式就是将一个类的实例化交给一个静态工厂来执行. 2. 使用频率 中 3. 模式结构 3.1 机构图 3.2 模式中的角色 Product:抽象类,把具体产品类公共的代码进行抽象和 ...
- 设计模式之简单工厂模式Simple Factory(四创建型)
工厂模式简介. 工厂模式专门负责将大量有共同接口的类实例化 工厂模式可以动态决定将哪一个类实例化,不必事先知道每次要实例化哪一个类. 工厂模式有三种形态: 1.简单工厂模式Simple Factory ...
随机推荐
- 【C++】继承时构造函数和析构函数
1. 顺序 先调用基类的构造函数,再调用派生类构造函数.析构顺序相反. 2. 构造函数 派生类 不用初始化列表调用基类构造函数->调用基类的默认构造函数 派生类 使用初始化列表调用基类带参构造函 ...
- eclipse中的project 和classpath文件的具体作用
项目->右键 Properties-> java Build Path -> source: xxx/data xxx/src 体现在 .classpath文件中: .classpa ...
- Annotation(注解)代替配置文件
非注解形式,即指在配置文件中配置相关参数,使实体类.参数各方面分离.注解方式,即annotation方式,是jdk提供的一种注入或配置方式.即将实体类与相关参数都在一起,只是通过@annotation ...
- 对json同属性字段压缩
function jsonPack(obj,ifOrder) { var result = [] // var nameArr = Object.keys(obj[0]); 非有序遍历 var nam ...
- python3生成测试数据,并写入ssdb
import pyssdb import random import time c = pyssdb.Client() chars = 'AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoP ...
- MYSQL 的异常CRASH事件处理
检查问题的过程****************************************************************************************** ps ...
- 记一次Laravel定时任务导致日志没有写入权限的坑
问题:用laravel开发定时任务时,发生了日志没有写入权限导致项目打不开的问题 原因:linux的添加定时任务时默认是当前登录用户,我定时任务会生成日志 crontab: kernel: 生成日志的 ...
- C# T4使用
最近升级我们的框架到微服务了,而且是dotnetcore 2.0. 然后一个新的框架,最基本的Model和与数据库交互的Repository,我们都是要利用T4自动生成的. 首先这个是代码结构,在这个 ...
- MySql 分页关键字(limit)
mysql分页关键字: limit m,n --m:表示从哪一行开始查,n:查询多少条 oracle分页关键字:: rownum SqlServer:top(2005以下版本) row_number ...
- 使用base64对图片的二进制进行编码,使其可以利用ajax进行显示
有时候我们需要动态的将图片的二进制在页面上进行显示,如我们需要弄一个验证码的功能,那么如果我们的验证码的图片在后台得到的是该图片的二进制,那么当我们需要在页面上点击一个按钮利用ajax进行切换的时候, ...