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

一、前言​

在面向对象程序设计课程的学习中,我完成了多种形式的学习任务。课程内容设置合理且循序渐进:Blog 作业虽次数少,但每次都以高要求倒逼我深度反思,暴露出代码规范、设计思维等方面的问题;PTA 作业题量适中,每道题都精准靶向面向对象核心技能,有效打磨了我的编码习惯;实验环节贯穿始终,通过 "动物进冰箱" 等实操项目,让我在程序实现中直观理解多态、继承等核心概念。

二、核心技术掌握情况​

理论篇

封装

在 PTA 作业中,通过设计各种类,如学生类、图书类等,将数据和方法进行封装。以学生类为例,把姓名、学号、成绩等属性私有化,通过公共的 get 和 set 方法来访问和修改,这让我对封装有了初步认识,明白封装能保护数据的安全性和完整性。在实验项目中,封装的应用更加广泛,比如在设计系统的用户模块时,将用户的敏感信息进行封装,避免外部非法访问,同时提供合理的接口供其他模块调用。通过这些实践,我学会了如何合理地设计类的属性和方法,提高代码的封装性。但在一些复杂的项目中,对封装的把握还不够准确,有时会出现属性封装不合理的情况,例如将一些不需要对外暴露的属性也提供了修改接口,导致代码的可维护性较差,后续需要进一步加强对封装原则的理解和应用。

继承

PTA 作业中多次涉及类的层次结构构建,如设计动物类的继承体系,通过继承让子类拥有父类的属性和方法,实现代码的复用。在实验中,继承的应用让系统的架构更加清晰,比如在设计图形界面的组件时,通过继承基类来扩展不同的功能,减少了代码的重复编写。这使我认识到继承是实现代码复用和建立类之间关系的重要手段。然而,在使用继承时,有时会出现继承关系设计不合理的问题,比如为了复用代码而强行建立继承关系,导致类的层次结构混乱,增加了代码的理解和维护难度,需要在今后的学习中更加谨慎地设计继承关系。

多态

多态在 PTA 作业和实验中都有重要应用,通过父类引用指向子类对象,实现了不同子类对象调用相同方法时产生不同的行为。例如在处理不同类型的图形时,使用图形类的引用指向圆形、矩形等子类对象,调用绘制方法时会根据对象的实际类型执行相应的绘制逻辑。这让我深刻理解了多态的灵活性和可扩展性,它使得程序在不修改原有代码的情况下能够轻松添加新的功能。但在实际应用中,对多态的运用还不够熟练,有时不能准确地找到合适的多态应用场景,需要进一步加强练习和体会。

抽象类

在 PTA 作业中,通过定义抽象类来规定子类必须实现的方法,比如定义一个形状抽象类,要求子类必须实现计算面积和周长的方法。在实验项目中,抽象类用于构建系统的框架,为子类提供统一的接口。这让我明白抽象类是一种规范和模板,能够强制子类实现特定的功能,保证代码的规范性。但在设计抽象类时,有时会出现抽象方法定义不合理的情况,没有充分考虑子类的实际需求,导致子类在实现时遇到困难,需要在以后的设计中更加全面地思考。

接口

接口在 PTA 作业和实验中用于实现多继承的功能,使类能够同时具备多种行为。例如一个类可以同时实现可移动接口和可攻击接口,让对象具有多种能力。通过接口的使用,我认识到接口是一种更加灵活的抽象方式,它可以让类之间的关系更加松散,提高代码的可维护性和可扩展性。但在实现接口时,有时会出现方法实现不符合接口定义的情况,需要加强对接口规范的理解和遵守。

JavaFX

在实验项目中涉及到 JavaFX 的使用,用于开发图形用户界面。通过学习 JavaFX,我掌握了界面布局、控件使用、事件处理等基本技能,能够开发出简单的图形界面应用。但对 JavaFX 的高级功能和复杂效果的实现还不够熟练,界面的美观性和交互性还有待提高,需要进一步学习和实践。

实验篇

Java 程序结构(实验一)​

知识要点​

通过命令行实操(如java -version环境校验),建立了 Java 运行环境的直观认知。在基础语法实践中,系统掌握了数据类型、控制结构、数组操作等核心要素,完成了从环境搭建到简单程序编写的入门过程。​

掌握程度​

通过调试语法错误、类型不匹配等常见问题,培养了基础排错能力。目前已能独立完成环境部署,熟练运用基础语法编写控制台程序,为后续面向对象编程奠定了扎实基础。​

类与对象(实验二)​

核心概念​

深刻理解类作为 "对象模板" 的本质 —— 通过属性(成员变量)与方法(行为)的封装,实现对现实实体的抽象建模。构造方法的初始化机制、getter/setter方法的规范使用,是保障对象状态安全的关键设计。​

实践突破​

在 "动物进冰箱" 模拟程序中,我完成了从类定义到对象交互的完整流程。初期忽视getter/setter规范导致数据混乱的教训,让我深刻认识到:规范的访问控制不是 "繁琐步骤",而是维护代码可维护性的必要设计,这一认知直接影响了后续的编程习惯。​

继承与多态(实验三)​

技术本质​

继承通过extends关键字建立 "is-a" 的逻辑关系(如 "猫是动物"),实现代码复用;多态借助 "父类引用指向子类对象" 的机制,在运行时动态绑定方法实现(如统一用Animal类型引用调用不同子类的cry()方法)。​

应用体会​

在动物类与电器类的分层设计中,我体验到多态的核心价值 —— 通过抽象父类接口,系统可无缝兼容未来新增的子类(如扩展 "大象类" 时无需修改原有逻辑)。instanceof类型检查的合理使用,让我掌握了多态场景下的类型安全处理技巧。​

抽象类与接口(实验四)​

设计差异​

抽象类允许包含具体方法,适用于 "部分实现 + 部分规范" 的场景(如定义 "电器" 抽象类时实现通用功能);接口则是纯粹的行为契约,Java 8 引入的默认方法使其兼具灵活性与规范性。二者配合使用可突破单继承限制,实现 "是什么"(继承)与 "能做什么"(接口)的双重设计目标。​

实践应用​

在电器系统设计中,我通过抽象类定义基础框架,用接口实现 "可开关"" 可调节 "等能力组合。这种分层抽象的设计,让我体会到如何根据" 代码复用 "与" 行为规范 " 的不同需求,精准选择设计工具,显著提升了系统架构的灵活性。​

JavaFX 图形界面(实验五)​

技术框架​

掌握 JavaFX 的分层架构:Stage作为顶层窗口容器,Scene定义界面尺寸,Pane等布局容器管理组件排列,结合Shape图形类与Label文本类实现界面展示。​

能力短板​

在动画效果实现中,因对GridPane布局约束、Transform图形变换的理解不足,常出现元素位置偏移问题。CSS 样式定制与复杂事件监听的应用仍显生疏,后续需通过更多案例练习强化界面交互能力。​

三、采坑心得​

知识上的问题

正则表达式应用困境

因对\d+等元字符、*+?等量词的匹配逻辑掌握不扎实,在处理日志解析等复杂文本时频繁出现 "过度匹配" 或 "漏匹配",暴露出对正则表达式上下文依赖特性的理解缺陷。​

设计原则认知偏差

初期编码中忽视 "单一职责原则",将多个功能堆砌在同一类中,导致代码耦合度高;未严格遵循 "开闭原则",需求变更时不得不修改原有核心代码,这些教训让我认识到设计原则是提升代码可维护性的 "黄金法则"。​

JavaFX 布局盲区

误以为界面元素坐标是绝对定位,未考虑BorderPane等布局容器的动态调整机制,导致动画效果在窗口缩放时出现位移错乱,本质是缺乏对 JavaFX 布局系统底层逻辑的理解。​

针对性改进策略​

正则表达式攻坚

建立 "模式拆解 - 分步测试" 的练习方法,每次遇到复杂需求先拆解为子模式(如邮箱验证可拆分为用户名、域名等部分),通过Pattern与Matcher类逐步调试,积累常见场景的模式库。​

设计原则落地

编码前强制进行 "职责清单" 梳理,用思维导图明确每个类的核心功能;需求变更时先评估是否符合 "开闭原则",优先通过新增类而非修改原有代码实现扩展,将设计原则转化为可操作的流程规范。​

JavaFX 筑基计划

系统学习Pane家族布局容器的特性(如HBox的水平排列、GridPane的网格约束),通过 "静态布局→单一动画→复合交互" 的递进式练习,确保每个环节完全掌握后再进入下一阶段。

小结

在学习这门课程的过程中,走了不少弯路,也吸取了很多经验教训。在编程过程中,经常因为忽略细节而导致错误,比如忘记初始化变量、方法参数传递错误等,这些小错误往往需要花费很长时间来调试。后来我学会了在编写代码时更加仔细,养成良好的编程习惯,比如及时注释、规范命名等,同时在调试时使用断点调试等工具,提高调试效率。​

在理解抽象类和接口的概念时,一开始存在混淆,不能准确地把握它们的区别和联系。通过查阅资料、向老师和同学请教,以及大量的实践,才逐渐理清了它们的本质。这让我明白,对于抽象的概念,不能仅仅停留在理论上的理解,要通过实际应用来加深认识。​

在学习方法上,一开始没有合理安排时间,导致在面对较多的作业和实验时感到手忙脚乱。后来我制定了学习计划,合理分配时间,将学习任务分解到每天,提高了学习效率。同时,我也学会了利用课余时间进行预习和复习,提前了解知识点,巩固学习成果。

四、改进建议

教师方面:可以增加一些实际项目的案例讲解,让我们更好地理解面向对象技术在实际开发中的应用。同时,在课堂上多与学生互动,鼓励学生提出问题和分享自己的想法。

作业方面:对作业的评价可以更加详细,指出我们在代码设计和实现中的优点和不足。减少纯体力的敲代码的工作量,加强对思维的强化训练。

实验方面:可以提供更多的实验指导资料,在实验过程中遇到问题时能够得到帮助。同时,实验项目的设计可以更加贴近实际应用,提高我们的实践能力和解决问题的能力。

posted @ 2025-06-22 16:25  故中  阅读(43)  评论(0)    收藏  举报