适配器设计模式---接口适配
来源:互联网 发布:网络政治参与缺陷 编辑:程序博客网 时间:2024/06/08 18:04
package cn.icer.simulation.InterfaceAdapter;/** * 火箭 * @author icer * @date:2013-12-27 * */public interface SkyRocket {/** * * @return 燃料的剩余量 */public abstract double getMass();/** * * @return 产生的推力 */public abstract double getThrust();/** * * @param time 燃烧时间 */public abstract void setSimTime(double time);}
package cn.icer.simulation.InterfaceAdapter;/** * 火箭 * @author icer * @date 2013-12-27 * */public class PhysicalRocket {private double burnArea;//燃烧面积private double burnRate;//燃烧率private double initFuelMass;//燃料private double totalMass;//燃料总量private double totalBurnTime;//总燃烧时间//重力加速度private static double SPECIFIC_IMPULSE = 620;// Newtons/Kg//燃料密度private static double FUEL_DENSITY = 1800;// Kg / M**3public PhysicalRocket(double burnArea, double burnRate, double fuelMass, double totalMass) {this.burnArea = burnArea;this.burnRate = burnRate;this.initFuelMass = fuelMass;this.totalMass = totalMass;double initialFuelVolume = fuelMass / FUEL_DENSITY;this.totalBurnTime = initialFuelVolume / (burnArea * burnRate);}/** * * @return 燃烧时间 */public double getBurnTime(){return totalBurnTime;}/** * * @param time 燃烧时间 * @return 现在剩余的燃料 */public double getMass(double time){if ( time > totalBurnTime)return totalMass - initFuelMass;double burntFuelVolume = burnArea * burnRate * time;return totalMass - burntFuelVolume * FUEL_DENSITY;}/** * * @param time 燃烧时间 * @return 点火以来产生的总推力 */public double getThrust(double time){if (time > totalBurnTime)return 0;return FUEL_DENSITY * SPECIFIC_IMPULSE * burnArea * burnRate;}}
package cn.icer.simulation.InterfaceAdapter;/** * 火箭 * @author icer * @date 2013-12-27 * */public class IcerRocket extends PhysicalRocket implements SkyRocket {private double time;public IcerRocket(double burnArea, double burnRate, double fuelMass,double totalMass) {super(burnArea, burnRate, fuelMass, totalMass);}@Overridepublic double getMass() {return getMass(time);}@Overridepublic double getThrust() {return getThrust(time);}@Overridepublic void setSimTime(double time) {this.time = time;}}
0 0
- 适配器设计模式---接口适配
- 设计模式【6】:适配器模式【接口适配】
- 设计模式:接口适配(适配器,桥接,外观)
- 接口与适配器设计模式
- 设计模式之接口型适配器模式
- java设计模式-接口适配器模式
- 适配器模式之接口适配
- 设计模式深入浅出(四)接口适配——适配器
- [设计模式](五):适配器模式(Adapter)[类适配器、对象适配器、接口适配器]
- 适配器设计模式---对象适配
- 转载-----C# 设计模式 - 1 接口模式 - 1.1 适配器模式
- Java 设计模式 接口型模式 之 适配器Adapter模式
- Java设计模式——接口型模式:适配器模式
- 设计模式之接口型模式(一)----适配器模式
- 【Java 设计模式】接口型模式--Adapter(适配器)模式
- 【Java 设计模式】接口型模式--Adapter(适配器)模式
- 设计模式学习之路 - 适配器模式 - 接口转换器
- 设计模式(接口隔离)——适配器模式
- 集合+单例模式
- Android中常用colors.xml
- 在JNI代码中异步回调Java层方法
- 解决客户之间的矛盾-生米煮成熟饭
- Android:如何在java代码中覆盖webview中的javascript事件
- 适配器设计模式---接口适配
- for 和 foreach区别
- Linux用户空间与内核空间
- Hadoop pig进阶语法
- 测试udp 端口是否开放
- ios多线程的几种创建方式
- 卡萨布的结果把手机的胳膊上的冠军巴萨夺冠
- 开始学习PHP之创建数据库和表
- ovftool