面向对象课程总结

一、前言:

这一学期的面向对象课程已经结束,经过这么久的课程,作业,实验等等的学习,我已经初步掌握了Java的面向对象设计的基本知识。在此,我也对这学期的面向对象设计课程做一个总结。

从任务量的角度来说,这门课的任务相比于其他课程要更多。但是由于这是我们这么专业的核心课程,这么课的任务量还是比较合理的。

从难度的角度来说,我认为难度是中上水平的。PTA中的题目基本都不是特别难,唯一难的几道题就是电梯题,和Java关键字。这些题目为什么难?电梯题是因为他的运行逻辑不清楚,Java关键字是因为不知道怎么实现。除此之外,对于那种需要自学的任务也比较难,就比如JavaFX的GUI作业。大部分需要自学,一些地方会遇到困难。

总而言之,本学期的Java面向对象设计课程对我的成长意义非凡。它不仅极大地提升了我在面向对象设计方面的能力,更为我未来专业课程的学习筑牢了根基,让我在编程思维与实践技能上都迈出了坚实的一步,为后续的深入学习奠定了稳固的基石。

二、面向对象技术总结:

1.学到了什么

经过这学期的Java面向对象课程的学习,我学习到了不少知识,封装、继承、多态、抽象类、接口、集合框架、异常以及JavaFX等等。

封装,继承,多态,抽象类还有接口是这个学期主要在练习的东西。

2.对各部分技术的认知

(1)封装

我的理解:封装是将数据和对数据的操作捆绑在一起,同时对外隐藏内部实现细节的过程。

关键点:

  • 通过访问修饰符(private, protected, public)控制可见性
  • 提供公开的方法(getter/setter)来安全地访问和修改数据
  • 隐藏实现细节,只暴露必要的接口

优点:

  • 提高代码安全性,防止外部直接修改内部状态
  • 降低耦合度,内部实现可以独立变化而不影响外部调用
  • 便于维护和调试

(2)继承

我的理解:继承是子类获取父类属性和方法的能力,实现代码复用和层次化分类。

关键点:

  • 子类继承父类的非私有成员
  • 可以重写(override)父类方法实现多态

优点:

  • 避免重复代码,提高复用性
  • 建立类之间的层次关系,更符合现实世界模型

(3)多态

我的理解:多态是指同一操作作用于不同对象可以有不同的解释和执行结果。

形式:

  • 编译时多态:方法重载(overload)
  • 运行时多态:方法重写(override),通过继承和接口实现

优点:

  • 提高代码灵活性和可扩展性
  • 允许用统一接口处理不同类型的对象
  • 便于添加新类型而不修改现有代码

实现方式:

  • 继承 + 方法重写
  • 接口实现

(4)抽象类

我的理解:抽象类是不能被实例化的类,用于定义子类共有的结构和行为。

特点:

  • 可以包含抽象方法(无实现)和具体方法
  • 子类必须实现所有抽象方法(除非子类也是抽象类)
  • 可以包含成员变量

使用场景:

  • 当多个相关类有共同的行为和属性时
  • 需要部分实现,部分由子类完成时
  • 比接口更适合有共享代码的情况

(5)接口

我的理解:接口是完全抽象的契约,只定义行为规范而不提供实现。

特点:

  • 只包含方法签名
  • 不能包含成员变量
  • 类可以实现多个接口

与抽象类的区别:

  • 接口强调"能做什么"(行为),抽象类表示"是什么"(本质)
  • 接口是完全抽象,抽象类是部分抽象
  • 类可以实现多个接口但只能继承一个类

使用场景:

  • 定义跨继承体系的行为标准
  • 需要多重继承行为时
  • 定义轻量级契约时

(6)总结

这些面向对象的核心概念共同构建了灵活、可维护的软件系统:

  • 封装保护数据完整性
  • 继承实现代码复用和层次化
  • 多态提供灵活性
  • 抽象类为相关类提供部分实现
  • 接口定义跨体系的行为规范

3.欠缺的地方:

由于上面的知识经常练习,我的掌握程度也比较深。对于其他知识,我大部分也只是粗浅的了解了一点。

集合框架这部分知识是老师在最后讲的,因为时间不多,并且这部分知识不在课本上

,老师没讲多少。这部分的知识对于未来工作有很大的作用,但是这里的难度还是比较大的。我现在对于这部分还不是很清楚。

JavaFX方面,这部分老师安排了翻转课堂,要求学生上台讲。这部分内容简单,但是多。听过同学们的讲解后,我对于各个部分的内容有了大致的了解。在做JavaFX实验和作业的时候,我由于没有使用过JavaFX,我只能是用到某个方面的知识时就去学习相关的知识。所以在做的过程中,我遇到了很多问题。

异常这部分,老师只讲了一节课。我现在同样只是在知道有这么个东西,也大概知道这个东西是干什么的,大概就是防止程序异常终止,使程序优雅的终止。

除此之外,还有好多知识也是位于这样的阶段。但是我认为要想一步登天是不可能的,每个东西都是要经过从无到有的过程。就像继承,接口,开始的时候我多他们也是不了解,但是经过认识他的功能,再到使用,练习,现在对于他们已经很熟悉了。其他知识也需要这样的过程,但是我同样也不可能事无巨细的全部精通。我还要做到取舍,因为有很多知识是不那么重要的,或者是现在已经不常用了。

总之,我还需要继续学习更多的知识,多加练习,实现从无到有,从了解到精通的过程。

三、采坑心得:

在面向对象课程的学习过程中,我遇到过很多困难,当然也踩过不少坑,在经过这些之后,对于学习的收获将会更大。在学习面向对象课程之前,老师要求我们自学前八章的内容,也就是一些Java的基本语法。我也是花了不少时间将前八章节的内容大致的浏览了一边。但是,这些知识其实看完之后没过多久就会忘记。在完成布置的作业,我遇到那些知识还是需要重新去看一遍。所以学习光看可是不行的,好记性不如烂笔头,一定去实践,练习。这也告诉我,学习其他的东西也是一样,不能不管方法的去做,这样效率低,得不到提升不说,还浪费了时间。

同时,我觉得在这学期的学习中,我有很多地方并没有做好。老师在课程开始时就告诉我们要做好笔记,但是我们基本上都是等老师告诉我们做笔记我们才会去做笔记。我个人觉得这门课做笔记还挺重要的,因为这门课的知识太多了,还要很多的知识相比之下不那么重要,所以我们就需要有一个区分。有很多知识,像类与类之间的关系,设计原则,这些需要自己梳理一下会更好的记忆和理解,道理和上面相似。对于那些不是很重要的,我们就可以记一下他们的作用。了解他们的作用以后,我们以后如果遇到了一个需要实现的功能,我们知道要是有什么方面的知识。、

这一学期收获很多,为我的今后的学习和工作打下了坚实的基础。在学习的过程中收获的知识很重要,收获的学习经验我觉得也是很重要的。我觉得这一学期的学习我也积累了不少学习经验,尤其是本专业的学习经验。我知道将来我所面对的行业需要的就是我们不断学习的能力,所以这个学习经验对于我来说是很重要的。

四、改进建议及总结:

经过一个学期的面向对象课程学习,在课堂老师的悉心讲解、课后PTA题目的练习、实验操作以及博客作业的自我总结中,我收获颇丰,对这门课程也感到十分满意。同时,我也有一些自己的想法,希望能够为这门课程的改进提供一些参考,让它在未来能够更加完善。

首先,我觉得课程的进度稍显缓慢,这或许只是我个人的感受。在课堂上,老师对一些知识点只是进行了大致的讲解,而这些内容课后我们通常不会主动去深入学习。因此,我期望老师在课堂上能够更加深入地讲解更多知识点,帮助我们更好地理解和掌握。

其次,关于课后练习,我希望能适当减少一些工作量。例如,实验系统禁止粘贴的功能似乎有些多余。因为每次完成练习题通常都需要花费三到四个小时,这个过程其实已经锻炼了我们地打字能力。这个学期的没次实验我基本需要花上两到三个小时去输入,并且完成实验的代码也要花上两到三个小时,这对于我来说压力较大。

回顾这个学期,这无疑是一个收获满满的学期。我在知识和学习经验方面都取得了显著的进步,同时也清楚地看到了自己的不足之处。目前所学的只是专业课程的冰山一角,未来还有很长的路要走。因此,我必须不断提升自己,为迎接更高阶的课程做好充分准备,为将来步入职场打下坚实的基础。

posted @ 2025-06-20 21:26  洪维希  阅读(13)  评论(0)    收藏  举报