面向对象程序设计课程总结Blog

面向对象程序设计课程总结

  1. 前言(对整门课程的概要性总结)

Blog作业:本学期总共有三次Blog作业,前两次Blog作业都是在实际代码设计的基础上,对每次的实验进行总结分析,只要代码写出来了就很好完成。第三次Blog作业也就是本次是对本学期面向对象程序设计这门课程的大总结。

PTA作业:本学期PTA一共完成了11个题目集,难度由易到难,循序渐进,题量适中,大部分题目都能完成,并且许多题目是以迭代的形式出的,先写基础设计,再在每次的题目中加上新学的设计要求,很适合初学者练习编程能力。

实验:本学期共有五次实验作业,也是以迭代的形式完成,从基础开始渐渐添加难度,循序渐进, 便于调试一般是先在eclipse上写,可以运行以后再搬运到实验系统上,但是由于实验系统不能复制粘贴,所以会增加很多工作量,如果直接在实验系统写,当代码行数较多时报错很难找到报错位置,因为实验系统没有标行数,每次改错也是工作量很大。

线上课程:学堂在线课程工作量还好,可以利用空闲时间完成,题目也是帮助理解的概念类题目。

线下课程:老师讲课讲得很不错,经常在课堂上用实例讲解,帮助我们更好理解课堂内容,还有翻转课堂,也是帮助我们更深切地体会和理解。

  1. 面向对象技术总结

对于各个教学环节总结如下:

  1. 首先是继承。从语法层面的extends关键字使用,到深入理解里氏替换原则,我对继承的认识有了质的飞跃。基本能够正确判断何时使用继承关系,明白继承不仅是代码复用的工具,更是表达领域模型的重要手段。不过在深层次继承结构中,对super关键字和构造方法链的运用偶尔还会出现错误。
  2. 多态。学习多态时经历了从表面理解到深入体会的过程,现在基本能够灵活运用方法重写和向上转型实现运行时多态。对接口多态和继承多态的应用场景有了比较清晰的区分,理解多态在框架设计中的核心地位。但在处理复杂类型系统时,对动态绑定的具体机制还需要进一步巩固。
  3. 封装:我对封装的理解从最初的简单数据隐藏,逐渐发展得较为完整。现在也基本能合理设计访问修饰符,理解封装在模块化开发中的核心作用。但在复杂类设计中,我对包级私有访问权限的运用还不够纯熟,有时会在过度封装和暴露过多实现细节之间摇摆不定。
  4. 抽象类与接口的区分:能够比较准确地把握抽象类定义模板与接口定义契约的不同定位,理解它们在设计模式中的互补作用。对Java8后接口的默认方法和静态方法有了基本认识,但在实际项目中如何平衡两者的使用还不够老练,特别是在较大型系统设计中。
  5. 集合框架:我对主要集合接口的实现特点和性能特征有了系统认识,能够根据场景选择合适的集合类型。优化方面经验不足,对并行流操作集合的理解停留在表面。
  6. 对于异常处理:从最初的简单捕获到现在的分层处理,建立了相对完整的异常处理思维。但对异常的性能影响和资源清理的最佳实践掌握不够,异常日志的记录规范也需要加强。
  7. JavaFx:握了基本的UI组件树概念和事件处理机制,能够实现简单的数据绑定和样式控制。但对复杂UI架构模式的理解尚浅,对性能优化和自定义控件开发完全没有经验,这是目前最大的知识空白之一。

通过系统的学习,建立了面向对象编程的知识框架,但各知识点之间的融会贯通还不够。下阶段需要着重提升将理论转化为实践的能力,特别是在复杂系统中合理运用这些概念的设计能力。

  1. 踩坑心得

刚开始总以为封装就是把所有字段都private然后生成getter/setter,结果写出了很多毫无意义的"哑巴类"。后来才明白,封装的核心在于"行为与数据的绑定",而不是简单的方法包装。然后就是曾经为了代码复用,硬是把两个只有少量共性的类强行建立继承关系,结果随着需求变化,这个继承体系变得越来越难以维护。刚开始设计接口时经常犯两个极端:要么一个接口定义很多个方法,要么把本应属于一个契约的功能拆分成五六个小接口。经过多次重构后才找到平衡点,现在会认真思考接口的单一职责原则,把经常一起变化的方法放在同一个接口中。早期写的代码要么把所有异常都吞掉,要么到处throws Exception。现在明白了异常处理的关键在于"合适的层级做合适的事"。经过这些踩坑经历我明白了:面向对象设计不是语法正确就行,必须时刻考虑扩展性和维护成本。面向对象设计不是语法正确就行,必须时刻考虑扩展性和维护成本。

  1. 改进建议及总结

总结:面向对象程序设计这门课程系统性地讲解了Java面向对象编程的核心概念(封装、继承、多态、抽象类、接口等),并结合集合框架、异常处理、JavaFX等内容,构建了完整的知识体系。老师的课上理论讲解结合课后实验和PTA作业,使我们对概念的理解更加深入。实验和PTA作业很好地巩固了课堂知识,尤其是通过实际编码加深了对面向对象思想的理解。部分实验(如JavaFX界面设计)让我们体会到理论在真实场景中的应用。整体节奏合理,理论+实验的模式使学习更加扎实。但部分内容(如JavaFX)因时间有限,效果不理想。

本门课程让我从"会写Java代码"进步到"会用面向对象思想设计程序",尤其是对封装、多态等核心概念的理解有了质的提升。实验和作业的设计总体合理,若能进一步优化指导细节、增加互动性和反馈深度,学习体验会更好。总体来说,这门课程让我受益匪浅。

改进建议:部分理论讲解较为抽象,如果能结合更多实时编码演示或课堂小练习(如现场修改代码观察效果),可能更利于理解。部分实验的步骤描述较简略,初学者可能无从下手。建议增加关键代码的注释或提供更详细的设计思路。部分题目难度跳跃较大,可以增加一些过渡性练习,帮助学生逐步适应复杂问题。部分实验可以尝试小组完成(如设计一个小型管理系统),既能锻炼协作能力,也能促进不同思路的交流。

posted @ 2025-06-20 01:56  学会儿好不好  阅读(34)  评论(0)    收藏  举报