第三次Blog作业
【前言】本学期共计完成 3 次 Blog 撰写任务,其核心目标不仅在于代码实现的复盘,更侧重于通过文字输出推动知识的系统化整合。每次撰写过程都像是对编程经验的 "二次加工"—— 例如在分析电梯调度程序时,通过 Blog 的逻辑梳理,我得以清晰拆解电梯从 "待机状态" 到 "指令响应移动" 再到 "开门服务" 的状态转换链条,这种对状态机设计的深度剖析,让抽象的理论概念转化为可视化的逻辑脉络。每一篇 Blog 都如同知识框架的构建基石,通过对大作业完成历程的阶段性总结,逐步夯实了对面向对象设计思想的理解。PTA 作业涵盖 53 道编程题目,两次迭代训练贯穿 Java 技术体系的全维度 —— 从基础的输入输出、数组操作,到集合框架的综合应用、多态特性的实战,再到 "单部电梯调度系统"" 航空货运管理系统 " 等大型项目的类结构设计。在电梯调度程序开发中,需要处理类的状态管理、请求队列调度算法等复杂逻辑;而航空货运系统则考验对货物、航班、机场等业务实体的抽象建模能力。尽管部分复杂题目耗时较长(如首轮电梯调度作业因初期重视不足未能按时完成),但通过针对性的查漏补缺,逐渐掌握了将理论知识转化为代码解决方案的工程思维,尤其是在类的封装设计与模块耦合控制方面积累了实战经验。5 个实验项目以递进式设计覆盖了 Java 编程的关键领域:从程序控制结构到类与对象的基础应用,从继承多态的特性实践到抽象类接口的设计,再到 JavaFX 图形界面的开发。这些项目不仅验证了课堂理论(如通过动物叫声模拟实验强化多态的运行时绑定机制),更通过完整的需求分析 - 代码实现 - 测试验收流程,让我熟悉了面向对象系统开发的全周期。特别是在图形界面实验中,通过布局管理器与事件响应机制的实践,填补了可视化编程的知识空白。线上课程以结构化内容为特色,涵盖 Java 基础、面向对象编程、高级特性等核心模块,每个章节配套视频讲解与课后习题。这种自主学习模式允许通过反复观看视频攻克难点(如集合框架的泛型机制),并通过习题即时检验学习效果,形成 "学习 - 实践 - 复盘" 的闭环。线下课堂则以翻转课堂为创新形式,以小组协作方式开展 JavaFX 技术的探究式学习,在案例实操中提升了团队沟通能力,同时通过组间成果分享拓宽了技术视野。
【面向对象技术核心知识点掌握总结】
封装:通过private修饰符实现属性隐藏,结合getter/setter方法控制访问权限。在 PTA"学生类设计" 作业中,将学号、成绩等属性封装为类成员,通过方法验证输入合法性(如成绩范围检查),深刻理解 "数据保护" 与 "接口暴露" 的设计原则。但在复杂类设计中,曾出现过度封装导致方法调用层级过深的问题。
继承:通过extends关键字建立类的父子关系,在实验 "图形继承体系" 项目中,设计Shape父类与Circle、Rectangle子类,实现draw()方法的复用。掌握了构造函数链调用机制(如子类默认调用父类无参构造),但初期因忽略super()显式调用导致过多次构造异常。
多态:代码里用Animal a = new Cat(),就像把猫 "装进" 动物的盒子里,当调用a.makeSound()时,实际运行的是 Cat 自己的叫声 —— 这就是多态的神奇之处,同样的指令根据对象类型不同而变化。
最大的好处是新增动物很方便!比如要加个老虎,只要写个 Tiger 类,不用改原来的 Animal 接口和调用代码,就像往动物园里新增一种动物,不用修改游客参观的路线。
在 PTA 图形类里,我把坐标数据用private锁起来(就像给抽屉上密码锁),外面只能通过getArea()这样的 "安全窗口" 查看面积,防止数据被乱改。
在动物模拟中,Cat 和 Dog 类把叫声方法藏起来,只允许通过统一的makeSound()接口调用。比如 Cat 类里写死 "喵喵叫" 的逻辑,外面不能直接修改叫声内容,就像猫不会随便听别人指挥怎么叫。
封装:把添加动物、删除动物的操作封装成addAnimal()、removeAnimal()方法,就像动物园管理员统一管理动物进出,防止游客随便抓动物;
继承和多态:用List
现在简单场景能熟练用,但复杂继承关系(比如多层父子类)和多态细节(比如静态方法不能多态)还需要多练,就像刚学会养宠物,复杂的训练技巧还得慢慢琢磨
【踩坑心得】
1.首轮电梯调度作业中,状态转换逻辑混乱,导致电梯在 "上行" 时响应下行请求。
2.在 JavaFX 中混合使用 VBox 和 GridPane 布局,导致控件位置错乱。
【总结·】回顾整个学期,学习历程虽充满挑战,但每一次代码调试的挫败、每一轮需求分析的困惑,都成为能力提升的契机。从最初对类设计的生涩理解,到能够独立完成复杂系统的架构设计,这一蜕变不仅源于知识的积累,更得益于课程中 "做中学" 的教学理念。若能在后续教学中增加行业案例的拆解分析(如电商系统的对象建模),或可进一步缩短理论与工程实践的距离,帮助学生更快建立系统设计思维。
这门课程所赋予的,不仅是 Java 编程的技术栈,更是将现实问题转化为对象模型的思维范式,这种能力将成为后续专业学习的重要基石。

浙公网安备 33010602011771号