面向对象程序设计总结

前言:
这学期的面向对象程序设计课程终于结束了,回顾这大半年的学习过程,感慨万千。这门课的作业量和课程难度都不小,但是收获也同样巨大。
先说说课程的整体安排吧。线上课程主要是在学堂在线平台上观看教学视频,老师录制的视频质量很高,讲解也非常细致,很多在课堂上没听懂的知识点,通过反复观看线上视频都能搞明白。不过线上课程的作业设计的太烂了,答案用全拼不对,中英文互译不对,顺序不一样不对,能不能在题干上把要求写出来啊。
线下课程的话,老师讲得特别投入,尤其是在讲解一些抽象的概念时,会举很多生动有趣的例子,帮助我们理解。不过Java的知识点实在是太多了,一节课下来,脑子就像被塞满了东西一样,有时候都来不及消化。
PTA作业是这门课的一大特色,每周都有一定量的编程题目需要完成。这些题目难度不一,有些比较基础,只要掌握了课堂上的知识点就能做出来;但也有一些题目非常有挑战性,需要花费大量的时间和精力去思考。比如电梯。我真的用了一整天在思考电梯是如何运行的,不过做完之后成就感还是很深的。
Blog作业也是课程的重要组成部分,通过写Blog,我不仅可以对所学的知识进行总结和梳理,还可以分享自己的学习心得和体会。刚开始写Blog的时候,觉得很困难,不知道该写些什么,但是随着学习的深入,越来越发现写Blog是一种很好的学习方法。
实验课程则是让我们将理论知识应用到实践中的好机会。每次实验都有明确的目标和要求,通过完成实验,我不仅掌握了Java的编程技巧,还提高了自己解决实际问题的能力。不过实验有时候也会遇到一些困难,比如代码总是调试不通过,这时候就需要耐心和细心,一步步地排查问题。还有那个实验提交系统太难用了,不让复制粘贴。视力起码掉了0.2这个学期。
总的来说,这门课程的工作量还是比较大的,但是通过这门课程的学习,我对Java编程有了更深入的了解,也掌握了很多实用的编程技巧。

面向对象技术总结:

封装:隐藏实现细节,保护数据安全

在学习封装的过程中,我深刻体会到了它的重要性。封装就是将对象的属性和方法封装在一起,对外提供一个统一的接口,隐藏对象的内部实现细节。通过封装,我们可以保护对象的数据不被外部随意访问和修改,提高了代码的安全性和可维护性。在PTA作业和实验中,经常会用到封装的思想。比如,在设计一个类时,我们会将类的属性设置为私有(private),然后提供公共的(getter和setter)方法来访问和修改这些属性。这样,外部代码就不能直接访问和修改对象的属性,只能通过我们提供的公共方法来操作,从而保证了数据的安全性。刚开始学习封装的时候,我对封装的理解还比较肤浅,只是简单地知道要将属性设置为私有,提供公共的方法。但是在实际编程中,我逐渐发现封装不仅仅是一种语法规则,更是一种编程思想。通过合理地使用封装,我们可以使代码更加简洁、清晰,提高代码的可读性和可维护性。

继承:实现代码复用,构建类的层次结构

继承是面向对象编程中的另一个重要概念。通过继承,我们可以创建一个新的类,继承现有类的属性和方法,从而实现代码的复用。继承还可以构建类的层次结构,使代码更加有组织性。在PTA作业和实验中,继承的应用非常广泛。比如,在设计一个图形类时,我们可以创建一个基类Shape,然后派生出Rectangle、Circle等子类。这些子类继承了Shape类的属性和方法,同时还可以添加自己的属性和方法。这样,我们就可以避免重复编写代码,提高了代码的复用性。通过学习继承,我对类的层次结构有了更深入的理解。在设计类的时候,我们需要考虑类之间的继承关系,合理地划分类的层次结构。这样,不仅可以提高代码的复用性,还可以使代码更加易于理解和维护。

多态:实现代码的灵活性和可扩展性

最好用的一个特性,大大提供了便利。多态是面向对象编程中的一个核心概念。多态允许我们通过基类的引用调用子类的方法,从而实现代码的灵活性和可扩展性。多态的实现主要依赖于方法的重写和接口的实现。在PTA作业和实验中,多态的应用让我印象深刻。比如,在设计一个动物类时,我们可以创建一个基类Animal,然后派生出Dog、Cat等子类。这些子类都重写了Animal类的makeSound()方法。当我们通过基类的引用调用makeSound()方法时,实际执行的是子类的方法,这就是多态的体现。多态的好处是显而易见的。它可以使代码更加灵活,提高代码的可扩展性。当我们需要添加新的子类时,只需要让新的子类继承基类,并重写相应的方法,而不需要修改现有的代码。这样,我们就可以在不影响现有代码的前提下,扩展系统的功能。

抽象类和接口:定义规范,实现多继承

让我真正理解了什么是面向抽象编程。抽象类和接口是Java中用于定义规范的两种机制。抽象类是一种不能被实例化的类,它可以包含抽象方法和具体方法。接口是一种完全抽象的类型,它只包含常量和抽象方法。在PTA作业和实验中,抽象类和接口的应用非常灵活。比如,在设计一个图形类时,我们可以创建一个抽象类Shape,其中包含一个抽象方法calculateArea()。然后,让Rectangle、Circle等子类继承Shape类,并实现calculateArea()方法。这样,我们就可以通过抽象类定义规范,让子类实现具体的功能。接口则可以实现多继承的功能。在Java中,一个类只能继承一个父类,但是可以实现多个接口。通过实现多个接口,一个类可以具有多种功能。比如,在设计一个类时,我们可以让它实现Serializable接口和Cloneable接口,从而使这个类具有序列化和克隆的功能。

异常处理:增强代码的健壮性

异常处理是Java中用于处理程序运行时错误的机制。通过异常处理,我们可以捕获和处理程序中出现的异常,避免程序崩溃,增强代码的健壮性。在PTA作业和实验中,异常处理是必不可少的一部分。比如,在读取文件时,可能会出现文件不存在的异常;在进行除法运算时,可能会出现除数为零的异常。通过使用try-catch语句,我们可以捕获这些异常,并进行相应的处理,从而保证程序的正常运行。刚开始学习异常处理的时候,我对异常的分类和处理方式还不是很清楚。但是通过不断地练习和实践,我逐渐掌握了异常处理的技巧。在编写代码时,我会考虑可能出现的异常,并进行相应的处理,从而提高了代码的健壮性。

JavaFX:创建图形用户界面

JavaFX是Java中用于创建图形用户界面(GUI)的工具包。通过JavaFX,我们可以创建美观、交互性强的应用程序界面。在实验课程中,我们学习了JavaFX的基本使用方法。通过JavaFX,我学会了如何创建窗口、按钮、文本框等控件,如何布局这些控件,以及如何处理用户的交互事件。比如,在实验中,我们设计了一个简单的计算器应用程序,通过JavaFX实现了计算器的界面和功能。JavaFX的学习让我对GUI编程有了更深入的了解。GUI编程不仅需要掌握编程技巧,还需要考虑用户体验和界面设计。通过JavaFX,我可以将自己的创意和想法以直观的方式呈现给用户。

个人掌握情况总结

通过这门课程的学习,我对面向对象编程的各个方面都有了一定的掌握。在封装、继承、多态等核心概念方面,我已经能够熟练运用它们来设计和实现类。在集合框架和异常处理方面,我也掌握了基本的使用方法,能够在实际编程中灵活运用。但是,我也意识到自己在一些方面还存在欠缺。比如,在JavaFX方面,我只是掌握了一些基本的使用方法,对于一些高级的功能和技巧还不是很熟悉。在多线程编程方面,我也只是有一个初步的了解,还需要进一步学习和实践。

采坑心得:在错误中成长

在学习这门课程的过程中,我遇到了很多困难和挫折,也走了不少弯路。但是,这些经历也让我学到了很多东西,积累了宝贵的经验。

变量作用域问题

在刚开始学习Java的时候,我经常会遇到变量作用域的问题。比如,在一个方法中定义了一个变量,然后在另一个方法中使用这个变量,结果编译器报错说变量未定义。后来我才明白,Java中的变量是有作用域的,不同作用域的变量不能互相访问。在一个方法中定义的变量,只能在这个方法内部使用,不能在其他方法中使用。如果需要在多个方法中使用同一个变量,需要将变量定义在类的成员变量位置。

代码调试技巧

在编程过程中,代码调试是必不可少的一部分。刚开始学习Java的时候,我不会使用调试工具,遇到问题只能通过打印输出来查找问题,效率非常低。后来,我学会了使用IDE提供的调试工具,比如设置断点、单步执行、查看变量值等。通过使用这些调试工具,我可以快速地定位和解决问题,提高了编程效率。

对课程的综合性总结

这门面向对象程序设计课程是一门非常实用的课程,通过这门课程的学习,我对Java编程有了更深入的了解,也掌握了很多实用的编程技巧。课程的内容丰富多样,涵盖了Java的各个方面,从面向对象的基本概念到集合框架、异常处理、JavaFX等高级内容都有涉及。课程的教学方法也非常灵活,线上课程和线下课程相结合,PTA作业和实验课程相互补充,使我们能够更好地掌握所学的知识。老师的教学水平也很高,讲解清晰、生动,能够将复杂的概念简单化,帮助我们更好地理解和掌握。

改进建议

虽然这门课程已经非常优秀了,但是我还是有一些小小的建议,希望能够对课程的改进有所帮助。

  1. 加强小组合作学习:在学习过程中,小组合作学习是一种非常有效的学习方法。通过小组合作学习,我们可以互相交流、互相学习,共同提高。建议在课程中增加更多的小组合作项目,让我们有更多的机会进行小组合作学习。

2.给实验提交系统加个复制粘贴功能。

posted @ 2025-06-22 19:08  蜕秽浮尘  阅读(22)  评论(0)    收藏  举报