实验二 Java面向对象程序设计
课程:程序设计与数据结构 班级:1623班 姓名: 邢天岳 学号:2309 指导老师:娄老师 王老师 实验日期:2017.4.17 实验名称:Java面向对象程序设计 实验内容- 初步掌握单元测试和TDD
- 理解并掌握面向对象三要素:封装、继承、多态
- 初步掌握UML建模
- 熟悉S.O.L.I.D原则
- 了解设计模式实验步骤 实验步骤: (一)单元测试
(1) 三种代码:在给定的伪代码,关于成绩的MyUtil类进行编译,并在idea环境下进行运行,同时也有测试代码的编写。要点是当成绩低于0或者高于100时,测试时会报错,所以需要写测试代码进行修复。三种代码是java学习的基础,也是很关键的一部分。
(2) TDD(Test Driven Devlopment, 测试驱动开发):基于TDD,我们不会出现过度设计的情况,需求通过测试用例表达出来了,我们的产品代码只要让测试通过就可以了。Java中有单元测试工具JUnit辅助进行TDD,我们用TDD的方式把前面百分制转五分制的例子重写一次,体会一下有测试工具支持的开发的好处。打开Eclipse,单击File->New->Java Project新建一个TDDDemo的Java项目,在TDD的环境下进行编译,同时进行测试。
(二)Java三要素的学习
继承、多态和封装作为java的三要素,在对程序的编译上有着很大的作用,通过继承的关系,体现多态,其中UML类图是一个方便的方法,将各个类的关系直观的体现出来,下面以狗(Dog)类为例,用UML类图进行编译:(三)设计模式初步
(1)S.O.L.I.D原则 面向对象三要素是“封装、继承、多态”,任何面向对象编程语言都会在语法上支持这三要素。如何借助抽象思维用好三要素特别是多态还是非常困难的,S.O.L.I.D类设计原则是一个很好的指导。五种原则在对java概念的学习和理解上有着很大的帮助,熟悉地记忆和理解了五种原则,对以后的学习有很大的帮助。(2)模式与设计模式
模式是某外在环境(Context) 下﹐对特定问题(Problem)的惯用解决之道(Solution)。这里面最重要的是设计模式,在面向对象中设计模式的地位可以和面向过程编程中的数据结构的地位相当。同样是对源代码进行编译,我是在MyDoc的基础上加了Long类,这个实验充分体现了抽象类和工厂模式在对java编译和修改上的优势,如果掌握有很大的帮助。 Long类代码截图: 我们看到通过增加了一层抽象层使代码符合了OCP原则。代码有良好的可扩充性、可维护性,代价是代码多了,效率变低下了。 设计模式初学者容易过度使用它们,导致过度设计,也就是说,遵守DRY和OCP当然好,但会出现YAGNI(You aren't gonna need it, 你不会需要它)问题。(四)练习
使用TDD的方式设计关实现复数类Complex。总结:本次的实验内容较多,而且难度较大,但所涉及的都是java概念上的内容,学好了对java的理解会有很大帮助,同时锻炼了动手和实际操作能力。
P.S:大家写博客一定要养成随时保存的习惯,学校奇葩的网真的会给你惊喜,这是我的第二篇报告,第一篇快搞完的时候被网黑了,当时真的无语。