`
BradyZhu
  • 浏览: 247692 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Java设计模式之------(Adapter)适配器模式实现

 
阅读更多

设计模式是个很神奇的玩意,很早就像接触他。但是苦于自己水平不行,学业不精,一直没能如愿。现在终于开

始设计模式的了,真是爽啊。希望自己能一步一个脚印的鉴定的走下去。

今天先学的第一个设计模式(适配器)模式。需求是这样的。可能设计一个火箭仿真程序来利用你所一共得火箭的

信息,你发现已有的类可以实现客户提出的功能,但是这个类是和客户提出的借口是相对独立的,只是方法名不同而

已,这是,你就可以使用Adapter模式。

首先贴出来假设客户提出的接口

package com.bird.inter;

/**
 * 用户需要接口要求
 * @author Bird
 *
 */
public interface RocketSim {
	
	public double getMass();
	public double getThrust();
	public void setTim(double t);
	
}


开发者手头有一个程序完成了客户需要的部分功能,但是相对于客户的接口是独立的,只是方法名称不同,但是里

面有很复杂的业务逻辑,需要复用,但是又需要满足客户提交的接口的请求。下面把这个类贴上

package com.bird.exit;

/**
 * 需要复用的类
 * @author Bird
 *
 */
public class PhysicalRocket{

	@SuppressWarnings("unused")
	private double burnArea;
	private double burnRate;
	@SuppressWarnings("unused")
	private double fuelMass;
	private double totalMass;
	
	
	public PhysicalRocket(double burnArea, double burnRate, double fuelMass,
			double totalMass) {
		this.burnArea = burnArea;
		this.burnRate = burnRate;
		this.fuelMass = fuelMass;
		this.totalMass = totalMass;
	}

	public double getBurnTime(){
		//假设这里有复杂的代码需要重用
		System.out.println("调用PhysicalRocket类的getBurnTime方法");
		return 0;
	}
	
	public double getMass(){
		//假设这里有复杂的代码需要重用
		System.out.println("调用PhysicalRocket类的getMass方法");
		return totalMass;
	}
	
	public double getThrust(){
		//假设这里有复杂的代码需要重用
		System.out.println("调用PhysicalRocket类的getThrust方法");
		return burnRate;
	}
}

然后为了实现代码和复用和完成用户的需求,我们使用Adapter设计模式,继承原来的类,然后实现接口,直接调用父类的方法就算完事,成功的实现了代码的复用,这就是Adapter设计模式

package com.bird.newClass;

import com.bird.exit.PhysicalRocket;
import com.bird.inter.RocketSim;

/**
 * 新类,实现接口继承需要复用的类
 * @author Administrator
 *
 */
public class OozinozRocket extends PhysicalRocket implements RocketSim {
	@SuppressWarnings("unused")
	private double time;
	
	public OozinozRocket(double burnArea, double burnRate, double fuelMass,
			double totalMass) {
		super(burnArea, burnRate, fuelMass, totalMass);
	}

	
	@Override
	public double getMass() {
		//复用代码
		return super.getMass();
	}

	@Override
	public double getThrust() {
		//复用代码
		return super.getThrust();
	}

	@Override
	public void setTim(double t) {
		this.time = t;
		
	}

}







  


  
分享到:
评论

相关推荐

    java设计模式之适配器模式

    java设计模式之适配器模式,希望对大家有所帮助。

    设计模式中的适配器设计模式

    java中的适配器模式,Adapter设计模式(包装器)23种设计模式之一

    JAVA设计模式chm文档

    设计模式之Adapter(适配器) 设计模式之Composite(组合) 设计模式之Decorator(油漆工) 设计模式之Bridge 设计模式之Flyweight(享元) 行为模式: 设计模式之Template 设计模式之Memento(备忘机制) 设计模式之Observer ...

    【动力节点】Java视频教程_Adapter设计模式

    教程名称: 【动力节点】Java视频教程_Adapter设计模式本套Java视频教程详细讲解了适配器设计模式的用法。首先在Java视频中介绍了适配器模式的基本元素及其定义,然后先使用无适配器模式编程,再使用多功能适配器及...

    Java设计模式之Adapter适配器模式

    主要为大家详细介绍了Java设计模式之Adapter适配器模式,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

    java设计模式之适配器模式(Adapter)

    主要介绍了java设计模式之适配器模式Adapter的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

    Java设计模式之适配器模式(Adapter模式)介绍

    主要介绍了Java设计模式之适配器模式(Adapter模式)介绍,本文讲解了为何使用适配器模式、如何使用适配器模式等内容,需要的朋友可以参考下

    JAVA设计模式之结构模式

    这是JAVA设计模式中属于结构模式的部分,包括Flyweight(共享模式)、Bridge(桥模式)、Decorator(装饰模式)、Composite(组合模式)、Adapter(适配器模式)、Proxy(代理模式)、Facade (外观模式)的源代码。其中有些模式中...

    适配器模式(Adapter Pattern)原理图

    适配器模式是一种结构型设计模式,它允许接口不兼容的两个类可以协同工作。以下是该模式的要点: 1. **角色**: - **Target(目标接口)**:客户端期望调用的接口。 - **Adaptee(适配者)**:现有的、接口与目标...

    java设计模式源码-DesignPattern:设计模式(Java实现源码)

    适配器模式(adapterPattern) 桥接模式(bridgePattern) 过滤器模式(filterPattern) 组合模式(compositePattern) 装饰器模式(decoratorPattern) 外观模式(facadePattern) 享元模式(flyweightPattern) 代理模式...

    java版本二十三种设计模式.zip

    - 23种设计模式 - 工厂方法模式(Factory Method) - 抽象工厂模式(Abstract Factory) - 单例模式(Singleton) - 建造者模式(Builder) - 原型模式(Prototype) - 代理模式(Proxy) - 适配器模式(Adapter) - 装饰...

    23种设计模式的java源代码

    里面包含了23中设计模式源代码,其中包括工厂模式(Factory)、单例(Singleton)、观察者模式(Observer)、适配器模式(Adapter)、Template模式、Decorate模式、proxy模式等 这些代码对于初学者看起来稍微复杂一些,我...

    23种设计模式的java源代码----容易理解的源代码

    里面包含了23中设计模式源代码,其中包括工厂模式(Factory)、单例(Singleton)、观察者模式(Observer)、适配器模式(Adapter)、Template模式、Decorate模式、proxy模式等 这些设计模式源代码更容易理解

    33种JAVA设计模式DEMO

    适配器模式(Adapter Pattern) 桥接模式(Bridge Pattern) 过滤器模式(Filter、Criteria Pattern) 组合模式(Composite Pattern) 装饰器模式(Decorator Pattern) 外观模式(Facade Pattern) 享元模式...

    [Java设计模式(第2版)(Design.Patterns.in.Java).John.Metsker

    《java设计模式(第2版)》通过一个完整的java项目对经典著作design patterns一书介绍的23种设计模式进行了深入分析与讲解,实践性强,却又不失对模式本质的探讨。本书创造性地将这些模式分为5大类别,以充分展现各个...

    用Java实现23种设计模式

    用Java实现23种设计模式 1. 创建型模式 工厂模式(Factory Pattern) 抽象工厂模式(Abstract Factory Pattern) 单例模式(Singleton Pattern) 建造者模式(Builder Pattern) 原型模式(Prototype Pattern)...

    javascript设计模式之Adapter模式【适配器模式】实现方法示例

    本文实例讲述了javascript设计模式之Adapter模式。分享给大家供大家参考,具体如下: 所谓Adapter模式就是适配器模式,主要是指使两个原本没有关联的类结合一起使用。 JS实现Adapter模式示例如下: <!DOCTYPE ...

    缺省适配器模式 Java实现 IDEA工程

    用Adapter模式设计一个仿生机器人: 要求机器人可以模拟各种动物行为,在机器人中定义了一系列方法,如机器人叫喊方法cry()、机器人移动方法move()等。如果希望在不修改已有代码的基础上使得机器人能够像狗一样汪汪叫...

    单例模式源码java-DesignPattern:在个人自学阶段的23种设计模式代码的全部实现,全部使用Java编写,其中还包括各个设计模式在

    在个人自学阶段的23种设计模式代码的全部实现,全部使用Java编写,其中还包括各个设计模式在源码中的使用,每种设计模式都举了一个简单的小例子来进行实现,并加以注释 包名解释 一、DesignPattern 1.1 创建型模式 ...

    java设计模式教程+源代码

    Adapter ( 适配器模式 ) Bridge ( 桥接模式 ) Composite ( 组合模式 ) Decorator ( 装饰模式 ) Facade ( 外观模式 ) Flyweight ( 享元模式 ) Proxy ( 代理模式 ) Chain of Responsibility ( 责任链模式 ) ...

Global site tag (gtag.js) - Google Analytics