博客
关于我
OO第四次博客作业
阅读量:791 次
发布时间:2023-02-23

本文共 1282 字,大约阅读时间需要 4 分钟。

面向对象编程的学习之旅

作为一个刚开始学习面向对象编程的新手,我在这个学期的OO课程中经历了无数的困难与收获。这段时间让我对面向对象的思想有了更深刻的理解,也让我在编程实践中积累了宝贵的经验。

第一个单元:多项式求导

第一个单元的作业围绕多项式求导展开。刚开始时,我还真有点懵,不太确定应该怎么分解多项式。老师教我们用多项式的次数来判断导数的次数,这对我来说还是挺有帮助的。前两次作业用了正则表达式来处理,但到了第三次,我不得不用递归来处理多项式的分解,这让我对递归有了更深的理解。虽然过程中遇到了一些困难,但最终还是完成了作业。

第二个单元:电梯调度

第二个单元的作业是关于电梯调度的,主要是多线程的运用。在前两次作业中,我用了暴力轮询的方式来调度电梯,但这种方式效率太低了。后来我改用wait和notify,这样电梯的调度方式变得更为智能。虽然多线程的编程确实需要仔细考虑线程之间的通信和同步,但我还是完成了作业。

第三个单元:JML规格学习

第三个单元是关于JML规格的学习。JML的规格对我来说有点挑战,特别是如何正确应用规格来验证程序的正确性。刚开始我用了暴力遍历的方法,但这导致了效率低下和第三次作业的TLE问题。后来改用不拆点法,并运用Dijkstra算法来计算最小权值路径,这样程序的效率得到了提升。不过,面向对象的思想在这个单元的作业中还是有提升的空间,类的划分不够细,导致代码有些冗余。

第四个单元:UML学习

第四个单元的作业则是关于UML的学习和解析。这次作业让我对UML类图、状态图和顺序图有了更深刻的理解。通过编写解析代码,我学会了如何存储UML元素,并处理继承和接口的关系。虽然过程中遇到了一些bug,比如强测中的指令计数问题和接口传递错误,但通过不断调试和理解UML的真正含义,最终解决了这些问题。

测试理解与实践

在这四个单元的学习中,我逐渐意识到测试的重要性。虽然有时候测试数据设计得不够全面,导致错误难以发现,但通过黑盒测试和单元测试,我学会了如何更有效地验证程序的正确性。尤其是在第三单元的学习中,使用JUnit进行单元测试,使我对测试的价值有了更深刻的理解。

课程收获

这个学期的OO课程让我受益匪浅,不仅巩固了面向对象的思想,还提升了代码编写和问题解决的能力。不过,面向对象的学习过程中也让我明白,类的划分和设计需要更加细致,否则容易出现冗余和代码难以维护的情况。未来我会继续练习,希望能在面向对象方面有更多的进步。

改进建议

  • 理论课:我认为在理论课中可以增加一些有关于面向对象更加具体细节的知识内容,虽然说这些细节之处的知识不是从宏观上讲没有能够体现出来,但是对于我这种初学者来说影响还是挺大的。

  • 作业:作业总体来说我觉得还是很贴合课程的进展的,只是我认为第三单元似乎与面向对象的训练有些偏离,与JML规格的学习也有些偏离,感觉变成了一个纯粹的数据结构问题。

  • 强测和修复:其实我对于强测的错误点在进行bug修复时再扣一遍分不是非常理解(因为有时候一个错误点可能就已经导致强测严重翻车,要是再扣一遍分就让人非常痛苦了)。

  • 转载地址:http://gasfk.baihongyu.com/

    你可能感兴趣的文章
    Objective-C实现最长子数组算法(附完整源码)
    查看>>
    Objective-C实现最长字符串链(附完整源码)
    查看>>
    Objective-C实现最长递增子序列算法(附完整源码)
    查看>>
    Objective-C实现有限状态机(附完整源码)
    查看>>
    Objective-C实现有限状态自动机FSM(附完整源码)
    查看>>
    Objective-C实现有限集上给定关系的自反关系矩阵和对称闭包关系矩阵(附完整源码)
    查看>>
    Objective-C实现朴素贝叶斯算法(附完整源码)
    查看>>
    Objective-C实现杰卡德距离算法(附完整源码)
    查看>>
    Objective-C实现极值距离算法(附完整源码)
    查看>>
    Objective-C实现构造n以内的素数表(附完整源码)
    查看>>
    Objective-C实现某文件夹下文件重命名(附完整源码)
    查看>>
    Objective-C实现查找second Largest Element第二大元素算法(附完整源码)
    查看>>
    Objective-C实现查找整数数组中给定的最小数字算法(附完整源码)
    查看>>
    Objective-C实现根据cpu和磁盘序列号生成注册码( 附完整源码)
    查看>>
    Objective-C实现格雷码序列算法(附完整源码)
    查看>>
    Objective-C实现桥接模式(附完整源码)
    查看>>
    Objective-C实现检查给定图中是否存在循环算法(附完整源码)
    查看>>
    Objective-C实现检查给定字符串是否在camelCase中算法(附完整源码)
    查看>>
    Objective-C实现欧几里得距离(附完整源码)
    查看>>
    Objective-C实现求a的逆元x(附完整源码)
    查看>>