Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1753755
  • 博文数量: 297
  • 博客积分: 285
  • 博客等级: 二等列兵
  • 技术积分: 3006
  • 用 户 组: 普通用户
  • 注册时间: 2010-03-06 22:04
个人简介

Linuxer, ex IBMer. GNU https://hmchzb19.github.io/

文章分类

全部博文(297)

文章存档

2020年(11)

2019年(15)

2018年(43)

2017年(79)

2016年(79)

2015年(58)

2014年(1)

2013年(8)

2012年(3)

分类: Java

2017-02-09 09:40:07

把不同的接口通过中间的adapter 连接在一起,概念很简单,看玩具代码很简单。

Example in JDK: 
java.util.Array #asList()
java.io.InputStreamReader(InputStream)(returns a Reader)
java.io.OutputStreamWriter(OutputStream)(returns a Writer)


点击(此处)折叠或打开

  1. package adapterpattern;

  2. class Apple{
  3.     public void getAppleColor(String color){
  4.         System.out.println("Apple color is :"+color);
  5.     }
  6. }

  7. class Orange{
  8.     public void getOrangeColor(String color){
  9.         System.out.println("Orange color is :"+color);
  10.     }
  11. }

  12. class AppleAdapter extends Apple{

  13.     //The purpose of the sample problme is to adapt an orange
  14.     // as an apple
  15.     private Orange orange;

  16.     public AppleAdapter(Orange orange){
  17.         this.orange = orange;
  18.     }

  19.     public void getColor(String color){
  20.         orange.getOrangeColor(color);
  21.     }
  22. }


  23. public class AdapterPatternDemo {
  24.     public static void main(String[] args){
  25.         Apple apple1 = new Apple();
  26.         apple1.getAppleColor("green");

  27.         Orange orange = new Orange();
  28.         AppleAdapter adapter = new AppleAdapter(orange);
  29.         adapter.getAppleColor("red");
  30.     }
  31. }


阅读(522) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~