首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件开发 >

设计形式-适配器模式(adapter)

2013-07-16 
设计模式----适配器模式(adapter)IUserInfo.java代码如下:package com.designPattern.adapter/** * 公司

设计模式----适配器模式(adapter)
IUserInfo.java代码如下:

package com.designPattern.adapter;/** * 公司员工属性 * @author yangjianzhou * */public interface IUserInfo {public String getUserName();public String getHomeAddress();public String getMobileNumber();public String getOfficeTelNumber();public String getJobPosition();public String getHomeTelNumber();}


UserInfo.java代码如下:
package com.designPattern.adapter;/** * 公司内部正式员工 * @author yangjianzhou * */public class UserInfo implements IUserInfo{@Overridepublic String getMobileNumber() {System.out.println("这是员工的手机号码!");return null;}@Overridepublic String getOfficeTelNumber() {System.out.println("这是员工的公司电话!");return null;}@Overridepublic String getJobPosition() {System.out.println("这是员工的职位!");return null;}@Overridepublic String getHomeTelNumber() {System.out.println("这是员工的家庭电话!");return null;}@Overridepublic String getUserName() {System.out.println("这是员工的姓名!");return null;}@Overridepublic String getHomeAddress() {System.out.println("这是员工的家庭住址!");return null;}}


IOuterUser.java代码如下:
package com.designPattern.adapter;import java.util.Map;public interface IOuterUser {public Map<String,String> getUserBaseInfo();public Map<String,String> getUserOfficeInfo();public Map<String,String> getUserHomeInfo();}


OuterUser.java代码如下:
package com.designPattern.adapter;import java.util.HashMap;import java.util.Map;public class OuterUser implements IOuterUser{@Overridepublic Map<String,String> getUserBaseInfo() {HashMap<String,String> baseInfoMap = new HashMap<String,String>();baseInfoMap.put("username", "员工姓名!");baseInfoMap.put("mobileNumber", "员工电话!");return baseInfoMap;}@Overridepublic Map<String,String> getUserOfficeInfo() {HashMap<String,String> officeInfoMap = new HashMap<String,String>();officeInfoMap.put("jobPosition", "员工的职位!");officeInfoMap.put("officeTelNumber", "员工的办公电话!");return officeInfoMap;}@Overridepublic Map<String,String> getUserHomeInfo() {HashMap<String,String> homeInfoMap = new HashMap<String,String>();homeInfoMap.put("homeTelNumber", "员工的家庭电话!");homeInfoMap.put("homeAddress", "员工的家庭地址!");return homeInfoMap;}}


OuterUserInfo.java代码如下:
package com.designPattern.adapter;import java.util.Map;/** * 适配器模式实现类 * @author yangjianzhou * */public class OuterUserInfo extends OuterUser implements IUserInfo{private Map<String,String> baseInfo = super.getUserBaseInfo();private Map<String,String> homeInfo = super.getUserHomeInfo();private  Map<String,String> officeInfo = super.getUserOfficeInfo();@Overridepublic String getUserName() {String username = baseInfo.get("username");System.out.println(username);return username;}@Overridepublic String getHomeAddress() {String address = homeInfo.get("homeAddress");System.out.println(address);return address;}@Overridepublic String getMobileNumber() {String mobileNumber = baseInfo.get("mobileNumber");System.out.println(mobileNumber);return mobileNumber;}@Overridepublic String getOfficeTelNumber() {String officeTelNumber = officeInfo.get("officeTelNumber");System.out.println(officeTelNumber);return officeTelNumber;}@Overridepublic String getJobPosition() {String jobPosition = officeInfo.get("jobPosition");System.out.println(jobPosition);return jobPosition;}@Overridepublic String getHomeTelNumber() {String homeTelNumber = homeInfo.get("homeTelNumber");System.out.println(homeTelNumber);return homeTelNumber;}public String toString(){return this.getUserName()+" : "+this.getMobileNumber()+":"+this.getHomeAddress()+":"+this.getHomeTelNumber()+":"+this.getOfficeTelNumber()+":"+this.getJobPosition();}}


App.java代码如下:
package com.designPattern.adapter;public class App {public static void main(String[] args) {IUserInfo userInfo = new OuterUserInfo();System.out.println(userInfo);}}


运行结果如下:
员工姓名!员工电话!员工的家庭地址!员工的家庭电话!员工的办公电话!员工的职位!员工姓名! : 员工电话!:员工的家庭地址!:员工的家庭电话!:员工的办公电话!:员工的职位!

热点排行