实验二 面向对象的程序设计
实验二 面向对象的程序设计
一、实验内容及步骤
1.学会使用MyUtil,以学生成绩管理为例
- 步骤一:建好测试文件夹,在源代码下点小灯泡就可以
creat test
- 步骤二:输入测试代码,记得加@test
- 步骤三:运行测试代码,如果成功下方就会出现
x test passed
)
2.学会使用TDD方法编程,以StringBuffer为例。
- 步骤与任务1相差不多,只是思路有很大区别。TDD的思想就是在于先编测试代码,通过测试代码的需求来代码中增添功能,不断重复,直到编不出来更多的测试代码,那么程序就完整多了。
3.体会OCP与DIP原则,以MyDoc类为例
- 程序不难,只是对源代码做了一个扩充,支持了新的类型。OCP原则,就像在做这个任务的时候,因为已经做好了抽象,我们仅仅需要向其中添加一些满足需求的方法即可,其他部分的代码无需改动,即所谓的对扩充开放,对修改封闭。DIP原则,依赖倒置,即通过抽象的方法让下层依赖上层。
4.以TDD的方式开发一个复数类Complex
- 自己动手还是太少,参考了用java写一个复数类Complex这篇博客,才编出来了这个程序。
5.使用starUML对实验二中的代码进行建模
- 这个建模使我对程序的理解进一步加深了。
三、实验过程中遇到的问题
问题1:在linux环境下,IDEA找不到junit.jar包
解决方法:换用了windows下的idea。
问题2:添加junit.jar后test还是红色。
解决方法:又添加了junit4.1.2包。
四、总结与体会
这次的实验难度和任务量有所提升,其中感触较深的是任务2、3、4。任务2让我初识了TDD编程方法,感觉这种按需编程的思想很好;任务3让我体会到了S.O.L.I.D原则当中的OCP和DIP原则,我想这也是java语言比c语言的优势所在,可以通过抽象、接口、继承来更好的实现类、方法间的互联;任务4则是一个对我来讲十分困难的编程题,虽然还是有参考网上的代码,但是我觉得在编程的时候发现问题,去寻找答案,去参考,也是一个不错的学习方法。
步骤 | 耗时 | 百分比 |
---|---|---|
需求分析 | 20min | 20% |
代码实现 | 60min | 60% |
测试 | 5min | 5% |
分析总结 | 15min | 15% |