设为首页收藏本站

SKY外语、计算机论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 5691|回复: 0
打印 上一主题 下一主题

[java基础] 23种设计模式---(适配器模式)

[复制链接]

20

主题

0

好友

351

积分

版主

Rank: 7Rank: 7Rank: 7

性别
保密

最佳新人 活跃会员 热心会员 宣传达人 优秀版主 论坛元老

跳转到指定楼层
楼主
发表于 2013-6-5 22:25:08 |只看该作者 |倒序浏览
我们先看客户端需求
public class testclient {
        public static void main(String[] args) {
                // TODO Auto-generated method stub

     Map map;
     application.excute(map);//要求输出map数据
     System.out.print(b);
        }
}
//map数据类型输出程序
package com.moshi.adapter;
import java.util.HashMap;

public class application {
   public void excute(HashMap map){
           for(int i=0;i<map.size();i++){
                   System.out.println(map.get(i+""));
           }
   }
}
这都定义好了 但我们只实现了返回List数据类型的类
实例代码如下--------------------------------------------------------------

package com.moshi.adapter;
import java.util.ArrayList;
import java.util.List;
public class listserver {
    public List getList(){
            List list=new ArrayList();
            list.add("张三");
            list.add("李四");
            list.add("王五");
            return list;
    }
}

所以这里要定义一个list的适配器类 完成数据类型的匹配。。。
适配器类代码如下:

package com.moshi.adapter;
import java.util.HashMap;
import java.util.List;

public class listadapter extends HashMap{
    private List list;
    public listadapter(List listserver){
            this.list=listserver;
    }
    public int size(){
            return list.size();
    }
    public Object get(Object i){
            return list.get(Integer.valueOf(i.toString()).intValue());
    }
}
这个就是适配器的作用。。
然后再在客户端输出

package com.moshi.adapter;

import java.util.List;
import java.util.Scanner;
public class testclient {
        public static void main(String[] args) {
     application application=new application();
     listserver listserver=new listserver();
     List list=listserver.getList();
     Map listadapter=new listadapter(list);//list->map的适配器
     application.excute(listadapter);//输出map型的数据
     Scanner scanner=new Scanner(System.in);
     double b=scanner.nextDouble();
     System.out.print(b);
        }

}
额 这里适配器模式讲解完毕 。。。有问题可以提 并回复!





分享到: QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
分享淘帖0 收藏收藏0 评分评分
您需要登录后才可以回帖 登录 | 立即注册


手机版|SKY外语计算机学习 ( 粤ICP备12031577 )    

GMT+8, 2024-12-22 21:34 , Processed in 0.147646 second(s), 27 queries .

回顶部