打字猴:1.700464735e+09
1700464735
1700464736 //把成绩单拿过来
1700464737
1700464738 SchoolReport sr=new FouthGradeSchoolReport();
1700464739
1700464740 //看成绩单
1700464741
1700464742 sr.report();
1700464743
1700464744 //签名?休想!
1700464745
1700464746 }
1700464747
1700464748 }
1700464749
1700464750 运行结果如下:
1700464751
1700464752 尊敬的XXX家长:
1700464753
1700464754 ……
1700464755
1700464756 语文62数学65体育98自然63
1700464757
1700464758 ……
1700464759
1700464760 家长签名:
1700464761
1700464762 就这成绩还要我签字?!老爸就开始找扫帚,我开始做准备:深呼吸,绷紧肌肉,提臀收腹。哈哈,幸运的是,这个不是当时的真实情况,我没有直接把成绩单交给老爸,而是在交给他之前做了点技术工作,我要把成绩单封装一下,封装分类两步来实现,如下所示。
1700464763
1700464764 ❑汇报最高成绩
1700464765
1700464766 跟老爸说各个科目的最高分,语文最高是75,数学是78,自然是80,然后老爸觉的我的成绩与最高分数相差不多,考的还是不错的嘛!这个是实情,但是不知道是什么原因,反正期末考试都考得不怎么样,但是基本上都集中在70分以上,我这60多分基本上还是垫底的角色。
1700464767
1700464768 ❑汇报排名情况
1700464769
1700464770 在老爸看完成绩单后,告诉他我在全班排第38名,这个也是实情,为啥呢?有将近十个同学退学了!这个情况我是不会说的。不知道是不是当时第一次发成绩单时学校没有考虑清楚,没有写上总共有多少同学,排第几名,反正是被我钻了个空子。
1700464771
1700464772 那修饰是说完了,我们看看类图如何修改,如图17-3所示。
1700464773
1700464774
1700464775
1700464776
1700464777 图17-3 修饰成绩单
1700464778
1700464779 我想这是大家最容易想到的类图,通过直接增加了一个子类,重写report方法,很容易地解决了这个问题,是不是这样?是的,这确实是一个比较好的办法,我们来看具体的实现,如代码清单17-4所示。
1700464780
1700464781 代码清单17-4 修饰成绩单
1700464782
1700464783 public class SugarFouthGradeSchoolReport extends FouthGradeSchoolReport{
1700464784
[ 上一页 ]  [ :1.700464735e+09 ]  [ 下一页 ]