打字猴:1.70045575e+09
1700455750
1700455751 迪米特法则还有一个英文解释是:Only talk to your immedate friends(只与直接的朋友通信。)什么叫做直接的朋友呢?每个对象都必然会与其他对象有耦合关系,两个对象之间的耦合就成为朋友关系,这种关系的类型有很多,例如组合、聚合、依赖等。下面我们将举例说明如何才能做到只与直接的朋友交流。
1700455752
1700455753 传说中有这样一个故事,老师想让体育委员确认一下全班女生来齐没有,就对他说:“你去把全班女生清一下。”体育委员没听清楚,就问道:“呀,……那亲哪个?”老师无语了,我们来看这个笑话怎么用程序来实现,类图如图5-1所示。
1700455754
1700455755
1700455756
1700455757
1700455758 图5-1 老师要求清点女生类图
1700455759
1700455760 Teacher类的commond方法负责发送命令给体育会员,命令他清点女生,其实现过程如代码清单5-1所示。
1700455761
1700455762 代码清单5-1 老师类
1700455763
1700455764 public class Teacher{
1700455765
1700455766 //老师对学生发布命令,清一下女生
1700455767
1700455768 public void commond(GroupLeader groupLeader){
1700455769
1700455770 List<Girl>listGirls=new ArrayList();
1700455771
1700455772 //初始化女生
1700455773
1700455774 for(int i=0;i<20;i++){
1700455775
1700455776 listGirls.add(new Girl());
1700455777
1700455778 }
1700455779
1700455780 //告诉体育委员开始执行清查任务
1700455781
1700455782 groupLeader.countGirls(listGirls);
1700455783
1700455784 }
1700455785
1700455786 }
1700455787
1700455788 老师只有一个方法commond,先定义出所有的女生,然后发布命令给体育委员,去清点一下女生的数量。体育委员GroupLeader的实现过程如代码清单5-2所示。
1700455789
1700455790 代码清单5-2 体育委员类实现过程
1700455791
1700455792 public class GroupLeader{
1700455793
1700455794 //清查女生数量
1700455795
1700455796 public void countGirls(List<Girl>listGirls){
1700455797
1700455798 System.out.println(“女生数量是:”+listGirls.size());
1700455799
[ 上一页 ]  [ :1.70045575e+09 ]  [ 下一页 ]