打字猴:1.700464761e+09
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
1700464785 //首先要定义你要美化的方法,先给老爸说学校最高成绩
1700464786
1700464787 private void reportHighScore(){
1700464788
1700464789 System.out.println(“这次考试语文最高是75,数学是78,自然是80”);
1700464790
1700464791 }
1700464792
1700464793 //在老爸看完毕成绩单后,我再汇报学校的排名情况
1700464794
1700464795 private void reportSort(){
1700464796
1700464797 System.out.println(“我是排名第38名……”);
1700464798
1700464799 }
1700464800
1700464801 //由于汇报的内容已经发生变更,那所以要重写父类
1700464802
1700464803 @Override
1700464804
1700464805 public void report(){
1700464806
1700464807 this.reportHighScore();//先说最高成绩
1700464808
1700464809 super.report();//然后老爸看成绩单
1700464810
[ 上一页 ]  [ :1.700464761e+09 ]  [ 下一页 ]