第三次blog作业
前言:
在Java的课程的学习过程中,我经历了丰富多样的学习任务,从 PTA 作业到 BLOG 作业,从实验到线上线下课程,每一项都承载着独特的学习体验。
Blog 作业需要定期对所学知识进行总结与反思,将内心的想法转化为文字,工作量虽不算繁重,但每一次构思与创作都能锻炼我的表达和逻辑思维能力。PTA 作业则聚焦于编程实践,每一道题目都是对代码编写和问题解决能力的考验,难度循序渐进,既不会让人望而却步,也能让我在攻克难题中收获成就感。实验环节更是理论与实践的结合,从前期的准备到实际操作,再到最后的报告撰写,每一步都需要严谨细致,工作量适中却能让我深入理解知识的应用。
线上课程为我提供了灵活的学习时间和丰富的学习资源,让我可以根据自己的节奏进行学习;线下课程则有着面对面的互动交流,老师的讲解和同学的讨论让我对知识的理解更加深刻。整体而言,这些学习任务的工作量安排合理,难度设置适中,既不会让人感到过于轻松而缺乏挑战,也不会让人因压力过大而难以承受。
技术总结:
在这门课程的学习过程中,PTA 作业、实验等教学环节成为我掌握面向对象技术的重要实践场域。通过对封装、继承、多态等核心内容的学习与实操,我对 Java 编程的理解逐渐深入,也清晰认识到自身在技术掌握上的优势与短板。
封装:数据安全的 “守护者”
最初接触封装概念时,我对其 “隐藏实现细节,暴露必要接口” 的理念有些模糊。在 PTA 作业中,一道设计 “学生类” 的题目让我有了直观体会。我将学生的年龄、成绩等属性私有化,通过 getter 和 setter 方法控制访问,这不仅保护了数据的安全性,也规范了外部对数据的操作。在实验里,封装的运用更为复杂,比如在设计图书管理系统时,将图书的借阅记录、库存数量等敏感信息封装起来,仅开放查询、借阅等必要功能。通过反复实践,我基本掌握了封装的使用技巧,但在处理复杂业务逻辑时,有时仍会纠结属性和方法的封装粒度,这是后续需要加强的地方。
继承与多态:代码复用的 “利器”
继承机制极大提升了我的代码复用效率。在 PTA 的图形绘制题目中,我定义了 “图形” 父类,再让 “圆形”“矩形” 等子类继承父类,子类只需扩展自身特有的属性和方法,减少了大量重复代码。多态的概念则让我感受到面向对象编程的灵活性。在实验中实现的员工薪资计算模块,根据员工类型(普通员工、经理等)重写薪资计算方法,通过父类引用调用子类方法,实现了 “同一接口,多种实现”。不过,在多层继承结构和复杂多态场景下,我偶尔会出现方法调用错误,对向上转型和向下转型的理解还不够透彻,需要进一步加强练习。
抽象类与接口:规范与拓展的 “基石”
抽象类和接口的学习让我对编程的规范性和拓展性有了新认知。在实验的动物设计作业中,我使用抽象类定义了 “动物” 抽象类,强制子类实现 “攻击”“鸣叫” 等抽象方法,确保了子类的基本功能一致性。而接口的运用则更强调行为的规范,在航空系统中,我定义了 “支付接口”,让 “支付宝支付”“微信支付” 等类实现该接口,方便后续拓展新的支付方式。但在实际应用中,我有时会混淆抽象类和接口的使用场景,不知道何时该用抽象类,何时该用接口,还需要深入学习两者的本质区别。
集合框架、异常与 JavaFX
集合框架在处理大量数据时展现出强大优势。通过 PTA 作业,我熟练掌握了 ArrayList、HashMap 等常用集合类的使用,学会根据不同需求选择合适的集合。在实验的学生成绩管理系统中,用 ArrayList 存储学生信息,方便进行增删改查操作。对于异常处理,我学会了使用 try-catch-finally 语句捕获和处理运行时异常,但在自定义异常类和异常链的使用上还不够熟练。
JavaFX 的学习让我打开了图形界面编程的大门。在航空管理中,我利用 JavaFX 创建了可视化界面,实现了数据存储:采用文件的方式;用户登录:用户输入用户名及密码进行登录操作,用户名或密码错误要给出相应提示;用户下订单:用户采取输入的方式下订单,一个订单可包含多件货物(界面设计参考美团或京东订单);修改订单:用户可以对已保存的订单进行修改操作(该订单未开始运输前提下);支付:根据用户类型及货物类型等因素进行订单运费计算后,用户可以选择相应支付方式进行支付(模拟);查询物流:以动画的形式模拟航班运输货物从出发到当前所处的位置的过程(参考顺丰、圆通等物流公司物流查询设计);订单排序:对历史订单可以按照运费、时间、发件人、收件人等关键词进行排序(支持升序/降序)显示功能。不过,我对 JavaFX 的 CSS 样式设计和复杂界面布局掌握得不够好,制作出的界面美观度和交互性有待提高。
回顾整个学习过程,我对面向对象技术的核心概念和常用技术有了较为系统的认识,但在复杂场景应用和细节处理上仍存在不足。后续我会针对薄弱环节加强练习,通过更多项目实践巩固所学知识,不断提升自己的编程能力。
踩坑心得:
在这门课程的学习过程中,我走过不少弯路,也从这些错误中收获了宝贵的经验教训。
初期学习封装时,我曾过度追求数据的隐藏,将所有属性都设置为私有,却忽略了合理开放必要接口。在 PTA 作业里,因未正确设置 getter 和 setter 方法,导致外部无法正常获取和修改数据,后续不得不返工调整代码结构,浪费了不少时间。这让我明白,封装并非完全封闭,而是要在数据安全与可操作性间找到平衡。
在继承和多态的实践中,我因急于复用代码,盲目构建多层继承体系。在图形绘制实验里,子类层级过多,导致代码耦合度过高,当父类方法修改时,多个子类都需调整,维护成本大幅增加。同时,对向上转型和向下转型的滥用,也引发了类型转换异常。这次经历让我意识到,设计继承结构前需充分规划,谨慎使用转型操作,避免代码逻辑混乱。
JavaFX 学习阶段,我轻视了界面布局的重要性。在航空管理作业时,急于实现功能,随意摆放组件,未使用布局管理器,最终界面在不同分辨率下显示错乱。此外,对 CSS 样式学习浅尝辄止,导致界面风格简陋。这让我明白,图形界面编程中,美观与功能同样重要,需要重视基础布局和样式设计。
这些踩坑经历让我深知,面向对象编程不仅要掌握理论知识,更要在实践中注重细节、合理设计,才能少走弯路,真正提升编程能力。
建议:
回顾整门面向对象技术课程的学习历程,我在理论知识和实践能力上都有了显著提升。课程通过 PTA 作业、实验项目、线上线下教学等多元形式,让我逐步掌握了封装、继承、多态等核心概念,并能将其运用到实际项目中。特别是在实验环节,从简易的学生管理系统到复杂的动物进入容器程序,每一次实践都加深了我对知识的理解和运用能力。不过,在学习过程中,也发现了一些可以优化的地方,在此提出我的思考与建议。
在课程内容方面,建议增加更多贴近实际应用场景的案例。例如在讲解集合框架时,除了基础的增删改查操作,可以多来点案例,帮助我们更好地理解不同集合类的适用场景。此外,抽象类和接口的概念较为抽象,若能在教学中对比两者在不同项目中的应用差异,搭配具体的代码示例,能让我们更清晰地把握其使用时机。
对于作业和实验的布置,希望能提供更具层次化的任务。目前的 PTA 作业和实验虽然能覆盖知识点,但难度梯度可以进一步细化,emmm三题可能拿分有点不够。例如,在基础任务后增设拓展挑战题,让学有余力的同学能深入探索技术应用。同时,实验报告的反馈可以更加及时和详细,除了指出错误,还能给予优化代码结构、提升性能等方面的建议,帮助我们更高效地改进。
在教学组织方式上,线上课程资源丰富,但部分视频讲解节奏较快,建议在关键知识点处设置暂停提示或添加注释说明。线下课程的互动环节非常有价值,若能增加小组协作项目,让同学们在合作中交流思路、解决问题,既能提升团队协作能力,也能碰撞出更多创新想法。此外,希望教师能定期分享行业内面向对象技术的最新应用动态,拓宽我们的视野,增强学习的趣味性和实用性。
总的来说,这门课程为我打开了面向对象编程的大门,让我受益匪浅。

浙公网安备 33010602011771号