OOP课程总结

一、前言

Blog:
Blog 这种作业形式如同编程错题本,能系统梳理在 PTA 题目集或实验代码中暴露的逻辑漏洞,例如数组越界、空指针异常等典型错误的解决方案。通过文字记录错误成因与优化思路,不仅能强化自身对知识点的理解,还能在翻阅同学 Blog 时收获差异化的编程思路 —— 比如他人处理多线程同步问题的独特解法,或是集合框架高效应用的实战技巧。

PTA:
PTA是非常好的作业形式。通过PTA这个平台我们能更好的练习题目,在程序错误是能够及时给与我们反馈等。工作量上不算多,难度属于先难后易,后面更加注重培养程序的设计。

实验:
实验作业以多次迭代的过程,让我们初步体会到了在实际编程过程中,会遇到的程序需要修改或添加功能的需求。同时,在实验过程中有些知识需要从网上查询,也锻炼了自学能力。实验在提交过程需要自己将代码逐个打在提交系统上,能锻炼学生的打字速度,但其中遇到的麻烦的是,难以排除的是在打代码的过程中,容易打错并且难以去检查哪里打错了,会耗费许多时间。

线上课程与线下课程:
通过先学习线上课程来预习,再经过线下课程的学习能让我们学到的知识更多,也能让知识在我们的脑海中有更深刻的印象。

二、面对对象技术总结:

  1. 封装
    将数据(属性)和操作数据的方法绑定在一起,通过访问控制(如private、public)隐藏内部实现细节。
    可以保护数据不被外部随意访问和修改,提高代码的安全性和可维护性。
  2. 继承
    子类通过extends关键字继承父类的属性和方法,实现代码复用。以 “动物” 继承体系为例:class Bird extends Animal,子类自动拥有父类的eat()方法,同时可新增fly()方法
    需要注意的是java只支持单继承,不支持多继承。可以利用super()来返回当前对象的父类。
  3. 多态
    同一方法调用可以表现出不同的行为(通过继承和方法重写实现)。
    通过多态可以让代码实现变得更简洁,也可以让编程更加面向抽象。
  4. 抽象类
    用abstract修饰的类,不能实例化,可包含抽象方法(只有方法签名,没有实现)。
  5. 接口
    用interface声明的类型,默认包含抽象方法
  6. 集合框架
    List:有序可重复,ArrayList基于数组实现,适合高频查询(如按索引获取元素);LinkedList基于链表实现,适合高频增删(如在列表中间插入元素)。
    Map:键值映射,HashMap利用哈希表实现 O (1) 时间复杂度的查找,适用于 “学号 - 学生对象” 的快速匹配;TreeMap按键排序,可用于成绩排名场景。
    实际应用中,常组合使用集合类型,如List<Map<String, Object>>存储多条学生记录,每条记录用 Map 存储 “姓名”“成绩” 等键值对。
  7. 异常处理
    处理程序运行时出现的错误,避免程序崩溃。
    通过处理异常,就可以便于找到是哪一部分出错,便于调试和维护。
  8. JavaFX
    javaFX可以创立图形化界面,JavaFX作为课程引入的GUI技术,通过我们自行通过互联网学习,并且在课堂上进行知识分享。通过阅读课本然后上网上CSDN还有听别的同学分享等等方式,我初步的学习了解了JavaFx的一些基础知识应用,我学习了如何使用 JavaFX 创建窗口、布局组件、添加事件监听器,对事件监听处理等等。但是,由于教学时间比较少,然后内容又非常多,所以虽然现在能够完成一些简单的界面设计,但实现复杂交互和界面美观优化等方面,我还存在很多不足,需要进一步学习和探索。

总括:
在知识掌握上还需要继续学习,如javaFX的知识只是了解了其中一部分,还有一大部分需要探索,对于程序的设计方面还需要提高,这样能提高代码的合理性,在编程过程中速度也会有所提升。

三、踩坑心得:

在编写Java FX程序时,使用循环创立按钮和对应的图形,但在按钮的触发事件中没有将按钮与图形正确对应,导致按钮在每次触发事件就删除之后总是删除最后一个按钮。
通过给按钮和图形设置对应的值来找到应该正确删除的按钮成功解决,发现还可以使用HashMap创立映射关系更加方便。

在输入数据过程中,如果数据是多行的,类似于NextDouble的输入会在行末保留一个回车符号,此时使用NextLine就不会输入正确的字符串,导致程序错误。

再者就是在编写程序前要仔细阅读需求,如果没有理解需求就去编程,代码写到后面就很可能要重新写代码,这样就会浪费许多时间。

四、改进建议及总结:

可以在PTA上多加些练习知识的题目,这样能帮助学生快速熟悉掌握知识。

线上课程中可以加入一些在课程过程中需要用到的知识视频如Lambda表达式,归并排序可以帮助学生更快掌握好知识。

实验可以加强学生的自主能力,但实验的提交系统不算好用,会有许多重复的过程,有时也不知晓目前的代码在多少行,也难以把打上去的代码与自己原本写好的代码进行对比检查,导致花费了较多的时间。

翻转课堂也可以锻炼学生的综合能力,更好去自学了解自己安排的知识点,但由于学生讲课效果参差不齐,可能导致在学习过程中,有许多有关知识没有学习到,需要学生在课余时间去学习。

posted on 2025-06-22 17:38  牧矢舟  阅读(22)  评论(0)    收藏  举报