java设计模式进阶_adapter

来源:互联网 发布:老虎机 知乎 编辑:程序博客网 时间:2024/05/14 07:16

这里写图片描述

//////  Generated by StarUML(tm) Java Add-In////  @ Project : Untitled//  @ File Name : Engineer.java//  @ Date : 2016/8/25//  @ Author : /////* * 引擎能操作设备 */public interface Engineer {    public void operateDevice();}//////  Generated by StarUML(tm) Java Add-In////  @ Project : Untitled//  @ File Name : GnomeEngineeringManager.java//  @ Date : 2016/8/25//  @ Author : /////* * GnomeEngineeringManager 使用引擎去操作设备 */public class GnomeEngineeringManager implements Engineer {    private Engineer engineer;    public GnomeEngineeringManager() {        engineer = new GnomeEngineer();    }    public void operateDevice() {        engineer.operateDevice();    }}//////  Generated by StarUML(tm) Java Add-In////  @ Project : Untitled//  @ File Name : GnomeEngineer.java//  @ Date : 2016/8/25//  @ Author : ////public class GnomeEngineer implements Engineer {    private GoblinGlider glider = null;    public GnomeEngineer() {        glider = new GoblinGlider();    }    public void operateDevice() {        glider.attachGlider();        glider.gainSpeed();        glider.takeOff();    }}//////  Generated by StarUML(tm) Java Add-In////  @ Project : Untitled//  @ File Name : GoblinGlider.java//  @ Date : 2016/8/25//  @ Author : /////* * 设备类 */public class GoblinGlider {    public void attachGlider() {        System.out.println("Glider attached.");    }    public void gainSpeed() {        System.out.println("Gaining speed.");    }    public void takeOff() {        System.out.println("Lift-off!");    }}/* * 有两个变化属于适配器模式:类适配器实现了适配器的接口但是对象适配器使用组合 * 包含适配对象.这个例子使用对象适配方法 *  * 适配器(GnomeEngineer)转换接口到目标类(GoblinGlider)到适当的期望的通过使用者 * (GnomeEngineeringManager). */public class App {    public static void main(String[] args) {        Engineer manager = new GnomeEngineeringManager();        manager.operateDevice();    }}/*Glider attached.Gaining speed.Lift-off!*/
0 0