1700466727
//员工的名称
1700466728
1700466729
public String getUserName(){
1700466730
1700466731
String userName=(String)this.baseMap.get(“userName”);
1700466732
1700466733
System.out.println(userName);
1700466734
1700466735
return userName;
1700466736
1700466737
}
1700466738
1700466739
}
1700466740
1700466741
大家只要注意一下黑色字体的构造函数就可以了,它接收三个对象,其他部分变化不大,只是变量名称进行了修改,我们再来看场景类,如代码清单19-20所示。
1700466742
1700466743
代码清单19-20 场景类
1700466744
1700466745
public class Client{
1700466746
1700466747
public static void main(String[]args){
1700466748
1700466749
//外系统的人员信息
1700466750
1700466751
IOuterUserBaseInfo baseInfo=new OuterUserBaseInfo();
1700466752
1700466753
IOuterUserHomeInfo homeInfo=new OuterUserHomeInfo();
1700466754
1700466755
IOuterUserOfficeInfo officeInfo=new OuterUserOfficeInfo();
1700466756
1700466757
//传递三个对象
1700466758
1700466759
IUserInfo youngGirl=new OuterUserInfo(baseInfo,homeInfo,officeInfo);
1700466760
1700466761
//从数据库中查到101个
1700466762
1700466763
for(int i=0;i<101;i++){
1700466764
1700466765
youngGirl.getMobileNumber();
1700466766
1700466767
}
1700466768
1700466769
}
1700466770
1700466771
}
1700466772
1700466773
运行的结果还是相同的。大家想想看,OuterUserInfo变成了委托服务,把IUserInfo接口需要的所有的操作都委托给其他三个接口下的实现类,它的委托是通过对象层次的关联关系进行委托的,而不是继承关系。好了,讲了这么多,我们需要给这种适配器起个名字,就是对象适配器,我们之前讲的通过继承进行的适配,叫做类适配器。对象适配器的通用类图,如图19-9所示。
1700466774
1700466775
1700466776
[
上一页 ]
[ :1.700466727e+09 ]
[
下一页 ]