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

(1)前言
学这门课的时候,我把 Blog 作业、PTA 作业、实验还有线上线下课程这些都完成了。从工作量来说,这些任务搭配起来还挺系统的。线上课能自己安排时间,资料也多;线下课可以跟老师同学面对面交流,不懂的问题能及时问,感觉两种方式结合起来还挺好的。
PTA 作业题不算特别多,但每道题都得好好想想面向对象的概念和编程技巧,多练才能提高编程能力。Blog 作业需要自己总结学过的知识,还能锻炼写东西的逻辑,感觉挺有意义的。实验就更不用说了,能把理论用到实际项目里,知识点理解得更透了。
要说难度的话,课程内容是慢慢变难的。刚开始学基础概念还比较轻松,后来学到封装、继承、多态这些核心内容,还有 JavaFX 界面开发、集合框架、异常处理这些,就感觉有点挑战性了。不过遇到问题我就问老师同学,自己也多琢磨,慢慢就克服了,现在对面向对象编程算是有了比较系统的认识。
(2)面向对象技术总结
封装
掌握得咋样:通过做作业和实验,我知道了封装就是把对象的属性和方法 “包” 在类里,只留公共的接口给外面用,隐藏里面的细节。写代码的时候,我会用 private 把属性藏起来,再用 getter 和 setter 方法操作它们,这样数据就安全多了。
学到了啥:封装能让代码更好维护,也更安全。比如设计学生类的时候,年龄设成私有的,然后在 setAge 方法里检查年龄合不合理,就不会让错误数据跑进去了。
我的理解:封装是面向对象的基础,把数据和操作绑在一起,代码就更模块化,看着也清楚。
不足的地方:遇到复杂的类,有时候接口设计得不够好,后面得再多学学怎么优化。
继承
掌握得咋样:我会用继承来创建子类,让子类继承父类的属性和方法,还能自己扩展新功能。比如 PTA 里我用继承区分不同类型的对象,减少了好多重复代码。
学到了啥:继承能复用代码,比如先写一个交通工具的父类,汽车和飞机作为子类,继承父类的共同功能,再各自加自己的特点,这样代码就不用重复写了。
我的理解:继承是复用代码的好办法,但不能随便用,得注意逻辑关系,不然代码结构会乱掉。
不足的地方:有时候搞不太清楚接口和类继承的区别,处理多重继承相关的问题时会有点懵,还得再琢磨琢磨。
多态
掌握得咋样:多态就是同一个方法在不同对象里有不同的表现。我会通过重写方法和实现接口来实现多态,比如用父类引用指向子类对象,调用方法的时候就会根据实际对象来执行对应的操作。
学到了啥:多态让程序扩展起来更方便,要是加新的子类,不用改原来的代码,直接实现方法就行。像画图形的程序,定义一个图形接口,不同图形类去实现它,用多态就能统一处理不同图形了。
我的理解:多态是面向对象的核心之一,有了它,代码改起来更灵活,不容易出错。
不足的地方:在复杂的场景里,有时候搞不清方法的调用顺序,还得再多练手才行。
抽象类
掌握得咋样:抽象类就是定义一些抽象方法,让子类去实现,自己不能直接用。实验里我用抽象类搭框架,给子类提供统一的接口,还挺好用的。
学到了啥:抽象类不能实例化,只能被继承,里面可以有抽象方法和普通方法。子类必须实现抽象方法,这样就能保证子类的功能一致了。
我的理解:抽象类是设计代码的好工具,能让结构更清晰,代码复用性也更高。
不足的地方:有时候分不清什么时候该用抽象类,什么时候该用接口,得再好好区分一下它们的特点。
接口
掌握得咋样:接口就像一个 “规范”,定义好方法,实现它的类必须把这些方法都写出来。JavaFX 项目里我用接口实现了不同的支付方式,比如支付宝、微信支付,这就是多态的应用。
学到了啥:接口可以实现 “多继承”,弥补了 Java 单继承的限制,让类能有多种行为。而且接口和实现分离,代码维护起来更方便。
我的理解:接口能让代码之间的依赖变少,松耦合的设计真的很重要!
不足的地方:设计接口的时候,有时候没考虑好职责,导致接口可能太复杂或者太简单,以后得注意优化。
集合框架
掌握得咋样:我熟悉 List、Set、Map 这些常用的集合了,会根据不同需求选合适的集合类型。比如 PTA 里用 ArrayList 存数据,用 HashMap 快速查找,挺方便的。
学到了啥:集合框架里有很多数据结构,ArrayList 适合随机访问,LinkedList 适合频繁增删,HashMap 查找快,不同场景用不同的集合能提高效率。
我的理解:集合是 Java 编程里很重要的部分,用好了能让数据处理更高效。
不足的地方:一些集合的高级功能和性能优化我还不太懂,以后得深入学学。
异常
掌握得咋样:我会用 try-catch 来捕获异常,还会自定义异常类。比如程序里可能出错的地方,像文件不存在,我都会处理一下,这样程序就不会轻易崩溃了。
学到了啥:异常处理很重要,能让程序更健壮,就算出了问题也能给出提示,不会直接 “挂掉”,用户体验也更好。
我的理解:合理处理异常是写程序的必备技能,能让程序更稳定。
不足的地方:自定义异常的时候,有时候设计得不够合理,处理策略也需要再优化优化。
JavaFX
掌握得咋样:我学了 JavaFX 的基本组件和布局,像 TableView、Button、TextField 这些,还有 VBox、HBox 布局。实验里做了一个订单管理系统的界面,能用这些组件和布局搭出简单的界面了。
学到了啥:JavaFX 的组件和布局挺丰富的,搭界面的时候很方便,再加上事件处理,就能让用户和程序互动起来。
我的理解:JavaFX 做桌面应用的界面挺好用的,跨平台性也不错,功能还挺全。
不足的地方:界面的美观度和动画效果我还不太会弄,以后得学学怎么让界面更好看、交互更流畅。
(3)采坑心得
走过的弯路
概念没吃透:刚开始学的时候,对封装、继承这些概念理解不深,设计类的时候逻辑混乱,比如继承关系没理清楚,导致代码不好改。
代码结构乱:写大程序的时候,没规划好结构,把所有代码都堆在一个类里,后来看代码都觉得头疼,维护起来太难了。
没处理异常:有的时候没考虑到异常情况,比如读文件时文件不存在,程序就直接报错了,用户体验贼差。
界面设计差:JavaFX 界面布局没弄好,组件摆得乱七八糟,用户操作起来不方便,这都是没考虑用户体验的后果。
吸取的教训
吃透核心概念:学面向对象不能只懂皮毛,得多做练习,结合项目理解本质,不然写代码容易出错。
规划代码结构:写代码前先想想怎么分模块,把不同功能放到不同类里,这样代码才清晰,以后改起来也方便。
重视异常处理:程序里可能出错的地方都要处理,别嫌麻烦,这样程序才稳定,用户用着也舒心。
考虑用户体验:设计界面的时候,多站在用户角度想,布局要整齐,操作要简单,不然界面再好看不好用也白搭。
多总结反思:学完一个知识点或者做完一个作业,都要想想哪里做得好、哪里有问题,遇到困难别放弃,多查资料多问人,总会解决的!

posted @ 2025-06-19 18:36  东澈  阅读(44)  评论(0)    收藏  举报