24種設計模式之---(適配器模式)
我們先看客戶端需求
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);
}
}
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);
}
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.