策略设计模式
来源:互联网 发布:java银行项目经验 编辑:程序博客网 时间:2024/06/07 12:12
策略模式属于对象的行为模式。
其用意是针对一组算法,将每一个算法封装到具有共同接口的独立的类中,从而使得它们可以相互替换。策略模式使得算法可以在不影响到客户端的情况下发生变化。
策略模式的结构
策略模式是对算法的包装,是把使用算法的责任和算法本身分割开来,委派给不同的对象管理。策略模式通常把一个系列的算法包装到一系列的策略类里面,作为一个抽象策略类的子类。用一句话来说,就是:“准备一组算法,并将每一个算法封装起来,使得它们可以互换”。
package 设计模式;//************************主测试类***********************public class StrategyTest { public static void main(String[] args) { Duck duck=new BlackDuck("小黑"); duck.setFly(new FlyImpl()); duck.fly(); Duck noduck=new ModekDuck("小白"); noduck.setFly(new NotFlyImpl()); noduck.fly(); }}//***********************interface Flyavle{ public void flay();}class FlyImpl implements Flyavle{ @Override public void flay() { // TODO Auto-generated method stub System.out.println("我飞的老高了!"); }}class NotFlyImpl implements Flyavle{ @Override public void flay() { // TODO Auto-generated method stub System.out.println("我不会飞!"); }}abstract class Duck{ public String name; private Flyavle fly; public void setFly(Flyavle fly) { this.fly=fly; } public Duck(String name) { this.name=name; } public void fly() { System.out.println(name+":"); fly.flay(); }}//真黑鸭子class BlackDuck extends Duck{ public BlackDuck(String name) { super(name); // TODO Auto-generated constructor stub }}//模型鸭子class ModekDuck extends Duck{ public ModekDuck(String name) { super(name); // TODO Auto-generated constructor stub }}//***********************
阅读全文
0 0
- 设计模式-策略模式
- 设计模式:策略模式
- 设计模式-策略模式
- 设计模式 - 策略模式
- 设计模式-策略模式
- 设计模式-----策略模式
- 设计模式 策略模式
- 设计模式-策略模式
- 设计模式-【策略模式】
- 设计模式-----策略模式
- 设计模式-策略模式
- 设计模式--策略模式
- 设计模式- 策略模式
- 设计模式- 策略模式
- 设计模式------策略模式
- 设计模式--策略模式
- 设计模式-策略模式
- 设计模式--策略模式
- 数据库的物理存储体系
- 重要记录:HtmlTestRunner.HTMLTestRunner,不加u报告生成出错的记录
- androidstudio "waiting for debugger" 卡住
- 显示和隐藏虚拟按键的方法
- 电阻抗成像硬件系统中的常用概念
- 策略设计模式
- PC.CRASH.v8.0交通事故再现\
- 简单动态规划(4)——从入门到放弃
- 基于html、jsp、css制作的"慕课网"首页界面设计练习
- 装饰器详解
- 迈过三重门——详解SVM及其Python实现
- VS远程调试exe无法启动解决办法
- HLMT5中input实现多种文件上传,视频上传,图片上传,调用手机摄像头,照相机,相册功能
- 1032. 挖掘机技术哪家强(20)