适配器模式也被称为Wrapper模式,Wrapper有包装的意思,将某样东西包装起来,使其能够用于其他用途。
Adapter模式有两种:
类适配器模式(继承)
对象适配器模式(委托)
示例:
程序员类(Adaptee被适配):
package com.adapter.demo; //程序员类 public class Programmers { // Programmers have no girlfriends //has GirlFriend? return true && false private boolean girlFriend; public Programmers(boolean flag) { this.girlFriend = flag; } public void coding() { if(!girlFriend) { System.out.println("伤心的写代码"); }else { System.out.println("愉快的写代码"); } } }
适配一个女朋友(Adapter):
package com.adapter.demo; public class Girl extends Programmers implements PrintState{ public Girl(boolean flag) { super(flag); // TODO Auto-generated constructor stub } @Override public void printState() { // TODO Auto-generated method stub coding(); } }
需要的结果(target):
package com.adapter.demo; public interface PrintState { public abstract void printState(); }
测试:
package com.adapter.demo; public class TestMain { public static void main(String[] args) { PrintState printState = new Girl(true); printState.printState(); } }
结果:
愉快的写代码
适配器模式可以将已测试好的类通过一个适配器类(Adapter)来生成新的方法,可以对需呀复用的方法进行复用,创建自己的方法群,同时DeBug也会变得简单,只需要根据适配器寻找相应的方法即可。