六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 52|回复: 0

策略模式笔记

[复制链接]

升级  73.25%

801

主题

801

主题

801

主题

探花

Rank: 6Rank: 6

积分
2465
 楼主| 发表于 2013-1-27 05:01:48 | 显示全部楼层 |阅读模式
今天复习了策略模式,看到有个教程上谈到了个不错的例子,现笔记之,更多的可以参考<head first design pattern>>,
主要是一个四则运算计算器,输入数a,b,以及运算符号,之后完成四则运算。
我们首先建立一个抽象类
package org.jzkangta.strategy02;
//抽象的策略角色
public abstract class Operation {
 public abstract void oper(float a,float b);
}
然后分别对加,减,乘,除继承之,实现其操作,比如加法
public class Add extends Operation{
 public void oper(float a,float b){
  float result=a+b;
  System.out.println("相加的结果为-->"+result);
 }
}

处理的运算类
public class Calc {
 private Operation o;
 
 public final static Operation add=new Add();
 public final static Operation jian=new Jian();
 public final static Operation cheng=new Cheng();
 public final static Operation chu=new Chu();
 
 public void oper(float a,float b){
  o.oper(a, b);
 }
}
具体的测试类
public class Test {

 public static void main(String[] args) {
  float a=100;
  float b=25;
  
  Calc c=new Calc();
  
  c.add.oper(a, b);
  
  
 }
}
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表