打字猴:1.700468172e+09
1700468172
1700468173 secondDevGroup.addSubordinate(d);
1700468174
1700468175 secondDevGroup.addSubordinate(e);
1700468176
1700468177 secondDevGroup.addSubordinate(f);
1700468178
1700468179 //再看销售部下的人员情况
1700468180
1700468181 salesDep.addSubordinate(h);
1700468182
1700468183 salesDep.addSubordinate(i);
1700468184
1700468185 //最后一个财务
1700468186
1700468187 financeDep.addSubordinate(j);
1700468188
1700468189 return root;
1700468190
1700468191 }
1700468192
1700468193 //遍历整棵树,只要给我根节点,我就能遍历出所有的节点
1700468194
1700468195 public static String getTreeInfo(Branch root){
1700468196
1700468197 ArrayList<ICorp>subordinateList=root.getSubordinate();
1700468198
1700468199 String info=””;
1700468200
1700468201 for(ICorp s:subordinateList){
1700468202
1700468203 if(s instanceof Leaf){//是员工就直接获得信息
1700468204
1700468205 info=info+s.getInfo()+”\n”;
1700468206
1700468207 }else{//是个小头目
1700468208
1700468209 info=info+s.getInfo()+”\n”+getTreeInfo((Branch)s);
1700468210
1700468211 }
1700468212
1700468213 }
1700468214
1700468215 return info;
1700468216
1700468217 }
1700468218
1700468219 }
1700468220
1700468221 运行结果完全相同,不再赘述。通过这样构件,一个非常清晰的树状人员资源管理图出现了,那我们的程序是否还可以优化?可以!你看Leaf和Branch中都有getInfo信息,是不是可以抽象?好,我们抽象一下,如图21-5所示。
[ 上一页 ]  [ :1.700468172e+09 ]  [ 下一页 ]