第三次Blog作业
第三次Blog作业——总结
一、前言
本门课程的学习过程是由基础到复杂的步骤来的并且采用PTA与Blog混合的方式,不光考验我们对问题的解决能力还考验我们对代码的分析优化,例如从第一周的java基础语法再到后面的采用设计模式设计的循序渐进。同时在后面基础语法学习过后,进行面向对象设计模式的学习过程中还有相应实验,来保证我们对java设计模式的理解。
将学习过程拆解为基础语法、面向对象、设计模式三个阶段,每个阶段细化到周度学习内容与能力目标,PTA前三次题目集都是对java基础语法的考察,从第四次考察类设计开始正式开始面向对象,并且第五次题目集开始有一道相对困难的题目(可能是我们这一届的比较次吧也可能是第一次遇到这种的题目没有太多人做出来也就1/3的人做出来了)并且后续PTA第六次第七次考察了这道题的迭代,并且在第七次后给了我们一周进行Blog总结分析(应该是对的人分析优化,错的人分析为啥没做出来)后面的PTA也基本上是这样的模式,并且每一次阶段性学习过后还会有实验,完成相应实验并撰写实验报告与PTA结合Blog有着异曲同工之妙。
课程的难度方面倒是还好,仅仅只有第五次PTA及后面两次的迭代的那道题很多人没有做出来但后续老师也降低了PTA的难度将考察的重心转移到面向对象设计的考察而减少了算法的考察,后面PTA大部分人都能够满分了。
线上课程的话学生能学到一部分东西但不算多,到网上找资源也能学到。
线下课程采用前半部分基础语法自学,老师教学面向对象部分,和后续javaFX翻转课堂的形式(学生讲课)大大减少了教学时间,让我们有更多的时间进行实践。
二、面向对象技术总结
如我前言所说各个阶段的知识学习伴随着PTA和实验的代码编写:
首先就是PTA除了前三次是考察基础语法后面就全都是面向对象了至于封装、继承、多态、抽象类、接口、集合框架、异常以及JavaFX这些在PTA里面挺杂的处了异常和javaFX剩下的在讲到之后都挺常见的,像第八次题目里的航空货运那道题封装、继承多态、抽象类和集合框架都用到了,还有那个题目集十名就叫图形继承、多态、接口及集合框架,直接告诉你我考察你什么,其次就是实验,每一次实验都是这些知识点的相应考察:
像实验二类与对象考察封装,实验三继承与多态,实验四抽象类与接口,实验五javaFX
大体这些的功能如下:
合理的封装能有效降低模块间的耦合度。
继承是代码复用的重要手段,而多态则赋予程序动态扩展的能力,两者相辅相成。
通过接口和组合的方式,实现程序功能的灵活扩展与替换。
异常实现对错误的准确定位。
javaFX实现代码的可视化界面。
所以这些东西的学习基本上都在题目中理解了(不理解不行啊那PTA题目还有查重无论是看别人的代码改还是用AI都不行)。
现在的欠缺就是各种模式还不熟悉,模式多种多样但我们课程学习的时间不多老师不可能将二十几个代码编写模式全部都讲一遍,并且我们想要理解相应模式为什么这么用,需要进行自己找题编写但还有其他课程要学所以模式大多只是有所了解至于怎么用、怎么写目前还不算清楚,还有就是javaFX这东西要想要结合自己的代码在进行可视化难度简直激增,不光要考虑怎么布局还要考虑我之前的代码的逻辑能否实现到可视化界面上面。
三、采坑心得
踩坑方面有过几次踩坑,一次就是第五次题目集写代码前没有构思好类图,导致后面六和七的迭代难上加难,之前的Blog中我也提到了这个问题,所以写代码之前一定要先构思好怎么写。另一次踩坑就是javaFX里面的JDK版本的问题,导致上AI问的部分javaFX的功能的代码虽然有但我的JDK中的javaFX中没有相应类或是函数,所以说借助大模型学习前一定要提前知道是什么版本的,虽然说有方便的东西不用纯找罪遭,但好用的东西一般也不是免费的。
还有一次踩坑是在线下课程的学习中,真心建议老师换一套PPT有的PPT有实际案例怎么用的有的则没有,虽然没有实际案例的PPT老师会写案例,一般老师写案例的反而理解的更深,但一到老师讲PPT上的案例基本上听的云里雾里,我在听compare接口的时候就是被坑了那个案例导致我半周都没搞懂那个compare是怎么算是接口但有时我不用定义它有时又需要定义的。
四、改进建议及总结
PTA可以将难度固定向后面几次PTA一样有难度但不多能做出来,不要突然把难度调高又调低,还有一点建议就是把所有题目全部加上一个讨论区,有一道题(航空系统的那道)测试点死活过不去,之后麻了就随便看了下讨论区发现我对题意的理解错了,但看那个帖子的回复不只是我一个人错,所以建议加一个讨论区,或者加一个类似力扣那样的运行后能够显示正确答案的东西,搞的每次一看测试用例过了,一看测试点一个没过。(还有就是一些过于简单的题目就不要设制查重啊那过于简单的题目那一看就知道怎么写了太容易雷同了)
实验的话建议优化一下,实验参考类图上面部分东西相比于要求是冲突的又怕不按类图写会被说,搞的写的时候大小脑互搏,还有就是那个实验系统(虽然是老师写的但真就得吐槽一下),不让我们复制说要锻炼我们的敲代码的速度,但问题是这东西问题很多啊中英文分不出来,照着敲,一运行显示报错行数,IDEA上一模一样能运行,最后发现不能用包,还有那个1分钟保存为啥是分类1分钟保存啊全分完了一运行,发现多了好多个重定义,发现原本类里的删除的没保存,是真的难用。
至于线上课程的话,我的建议是老师能不能找时间更新一下线上课程不说上面的课程,那个题目有一些答案即使现在jdk已经更新到java24它答案还是老版本的缺少一些新东西又或是一些定义的老命名,导致在网上找资源学习后产生冲突(虽然是一个东西但我们不知道啊)并且线上课题目更是明明并列关系的答案但输错顺序后就两个全错希望可以改进一下,还有就是线下课程的javaFX部分的学习,采用的是学生讲相应部分的方式让我们进行学习但我们自己讲内容就会有所缺失,导致课后如果想要应用javaFx的话还是要进行大量的课后学习(即使老师会根据学生讲的来进行一点扩展内容,对于后续javaFX做可视化界面还是远远不够),降低了效率,还不如让我们自学了,用这段时间学点别的。
总的来说,这门课实现了我对java的基础学习以及对面向对象设计模式的大体了解,在的个人学习中我不光提高了我的自学能力而且对java有了个人的理解,更好的帮助我的后续学习。

浙公网安备 33010602011771号