适配器模式

package adapter1;

public class Client {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        IUserInfo younGirl = new OuterUserInfo();
//        IOuterUser youngBoy = new OuterUserInfo();
        //从数据库中查到101个
        for(int i = 0 ; i < 101; i ++)
            younGirl.getHomeAddress();
    }

}

 

package adapter1;

import java.util.Map;
//Ctrl+1 快速修复                
public interface IOuterUser {
    //基本信息
    public Map getUserBaseInfo();
    //工作区域信息
    public Map getUserOfficeInfo();
    //用户家庭信息
    public Map getUserHomeInfo();    
}

 

package adapter1;

public interface IUserInfo {
    String getUserName();
    String getHomeAddress();
    String getMobileNumber();
    String getJobPosition();
    String getOffceTelnumber();
    String getHomeTelNumber();
}

 

package adapter1;

import java.util.HashMap;
import java.util.Map;

public class OuterUser implements IOuterUser {

    @Override
    public Map getUserBaseInfo() {
        HashMap<String, String> UserBaseInfo = new HashMap<String, String>();
        UserBaseInfo.put("username", "这个员工叫混世魔王");
        UserBaseInfo.put("mobileNumber", "这个员工的电话号码1234546");
        return UserBaseInfo;
    }

    @Override
    public Map getUserOfficeInfo() {
        HashMap<String, String> UserOfficeInfo = new HashMap<String, String>();
        UserOfficeInfo.put("jobposition", "这个员工的职位是boss");
        UserOfficeInfo.put("officeTelNumber", "办公号码654321");
        return UserOfficeInfo;
    }

    @Override
    public Map getUserHomeInfo() {
        HashMap<String, String> UserHomeInfo = new HashMap<String, String>();
        UserHomeInfo.put("homeAddress", "员工的家庭地址是XXXX");
        UserHomeInfo.put("homeTelNumber", "家庭电话号码789");
        return UserHomeInfo;
    }

}

 

package adapter1;

import java.util.Map;

public class OuterUserInfo extends OuterUser implements IUserInfo {
    private Map baseInfo = super.getUserBaseInfo();
    private Map homeInfo = super.getUserHomeInfo();
    private Map officeInfo = super.getUserOfficeInfo();
    
    @Override
    public String getUserName() {
        // TODO Auto-generated method stub
        String userName = (String) baseInfo.get("username");
        System.out.println(userName);
        return null;
    }

    @Override
    public String getHomeAddress() {
        // TODO Auto-generated method stub
        String homeAddress = (String) homeInfo.get("homeAddress");
        System.out.println(homeAddress);
        return null;
    }

    @Override
    public String getMobileNumber() {
        // TODO Auto-generated method stub
        String mobileNumber = (String) baseInfo.get("mobileNumber");
        System.out.println(mobileNumber);
        return null;
    }

    @Override
    public String getJobPosition() {
        // TODO Auto-generated method stub
        String jobPosition  = (String) officeInfo.get("jobposition");
        System.out.println(jobPosition);
        return null;
    }

    @Override
    public String getOffceTelnumber() {
        String offceTelnumber  = (String) officeInfo.get("officeTelNumber");
        System.out.println(offceTelnumber);
        // TODO Auto-generated method stub
        return null;
    }

    @Override
    public String getHomeTelNumber() {
        // TODO Auto-generated method stub
        String homeTelNumber = (String) homeInfo.get("homeTelNumber");
        return null;
    }

}

 

package adapter1;

public class UserInfo implements IUserInfo {

    @Override
    public String getUserName() {
        // TODO Auto-generated method stub
        System.out.println("这个员工的名字是...");
        return null;
    }

    @Override
    public String getHomeAddress() {
        // TODO Auto-generated method stub
        System.out.println("这个员工的家庭住址是...");
        return null;
    }

    @Override
    public String getMobileNumber() {
        // TODO Auto-generated method stub
        System.out.println("这个员工的电话号码是...");
        return null;
    }

    @Override
    public String getJobPosition() {
        // TODO Auto-generated method stub
        System.out.println("这个员工的职位是...");
        return null;
    }

    @Override
    public String getOffceTelnumber() {
        // TODO Auto-generated method stub
        System.out.println("这个员工的办公号码是...");
        return null;
    }

    @Override
    public String getHomeTelNumber() {
        // TODO Auto-generated method stub
        System.out.println("这个员工的家庭电话是...");
        return null;
    }

}

 

posted on 2017-07-18 21:26  sky950506  阅读(71)  评论(0)    收藏  举报

导航