1700455869
//传递全班的女生进来
1700455870
1700455871
public GroupLeader(List<Girl>_listGirls){
1700455872
1700455873
this.listGirls=_listGirls;
1700455874
1700455875
}
1700455876
1700455877
//清查女生数量
1700455878
1700455879
public void countGirls(){
1700455880
1700455881
System.out.println(“女生数量是:”+this.listGirls.size());
1700455882
1700455883
}
1700455884
1700455885
}
1700455886
1700455887
在GroupLeader类中定义了一个构造函数,通过构造函数传递了依赖关系。同时,对场景类也进行了一些修改,如代码清单5-7所示。
1700455888
1700455889
代码清单5-7 修改后的场景类
1700455890
1700455891
public class Client{
1700455892
1700455893
public static void main(String[]args){
1700455894
1700455895
//产生一个女生群体
1700455896
1700455897
List<Girl>listGirls=new ArrayList<Girl>();
1700455898
1700455899
//初始化女生
1700455900
1700455901
for(int i=0;i<20;i++){
1700455902
1700455903
listGirls.add(new Girl());
1700455904
1700455905
}
1700455906
1700455907
Teacher teacher=new Teacher();
1700455908
1700455909
//老师发布命令
1700455910
1700455911
teacher.commond(new GroupLeader(listGirls));
1700455912
1700455913
}
1700455914
1700455915
}
1700455916
1700455917
对程序进行了简单的修改,把Teacher中对List<Girl>的初始化移动到了场景类中,同时在GroupLeader中增加了对Girl的注入,避开了Teacher类对陌生类Girl的访问,降低了系统间的耦合,提高了系统的健壮性。
1700455918
[
上一页 ]
[ :1.700455869e+09 ]
[
下一页 ]