首页 > 代码库 > 常用设计模式之适配器

常用设计模式之适配器

 

  • UML

技术分享

 

  • 对象适配器

实现目标接口(继承目标类),同时引用真正实现类的对象。

 1 //interface Target { void handleRequest(); }
 2 class Target {
 3     public void handleRequest(){
 4         System.out.println(" Target handleRequest .... ");
 5     }
 6 }
 7 class Adaptee{
 8     public void handleRequest(){
 9         System.out.println(" Adaptee handleRequest ... ");
10     }
11 }
12 //class Adapter implements Target{
13 class Adapter extends Target{
14     /*private Adaptee adaptee = new Adaptee();*/
15     private Adaptee adaptee;
16     public Adapter(Adaptee adaptee){
17         this.adaptee = adaptee;
18     }
19     public void handleRequest(){
20         adaptee.handleRequest();
21     }
22 }
23 public class AdapterTest{
24     public static void main(String[] args){
25         Target t = new Adapter(new Adaptee());
26         t.handleRequest();
27     }
28 }
  • 类适配器

实现目标接口,同时继承真正实现类。(由于类适配器模式通过多重继承实现,而java不支持多重继承,因此用接口实现)

 1 interface Target {
 2     void handleRequest();
 3 }
 4 class Adaptee {
 5     public void handleRequest(){
 6         System.out.println("--------- Adaptee handleRequest ... ------------" );
 7     }
 8 }
 9 class Adapter extends Adaptee implements Target {
10     public void handleRequest(){
11         super.handleRequest();
12     }
13 }
14 public class AdapterTest{
15     public static void main(String[] args){
16         Target t = new Adapter();
17         t.handleRequest();
18     }
19 }

 

常用设计模式之适配器