20145327实验二Java面向对象程序设计
Java面向对象程序设计
实验内容
- 初步掌握单元测试和TDD
- 理解并掌握面向对象三要素:封装、继承、多态
- 初步掌握UML建模
- 熟悉S.O.L.I.D原则
- 了解设计模式
伪代码,产品代码,测试代码的应用:
TDD的应用:
运用TDD设计关实现复数类Complex:
产品代码:
package exp2;
class complex {
double m, n;
complex() {
this.m = 0;
this.n = 0;
}
complex(double m) {
this.m = m;
this.n = 0;
}
complex(double m, double n) {
this.m = m;
this.n = n;
}
complex add(complex p1, complex p2) {
complex p = new complex(p1.m + p2.m, p1.n + p2.n);
return p;
}
complex minus(complex p1, complex p2) {
complex p = new complex(p1.m - p2.m, p1.n - p2.n);
return p;
}
void print() {
System.out.println("复数的值为:");
if (this.n != 0)
System.out.println(this.m + "+" + this.n + "i");
else
System.out.println(this.m);
}
}
测试代码:
package exp2;
import org.junit.Test;
import junit.framework.TestCase;
public class complexTest extends TestCase {
@Test
public static void testNormal() {
complex c = new complex();
complex c1 = new complex(4, 9);
complex c2 = new complex(5, 1);
c1.print();
c2.print();
System.out.println("这两个复数的和为:");
System.out.println((c.add(c1, c2).m + "+" + c.add(c1, c2).n + "i")
.toString());
System.out.println("这两个复数的差为:");
System.out
.println((c.minus(c1, c2).m + "+" + c.minus(c1, c2).n + "i")
.toString());
}
}
出现红条 修改产品代码 成功出现绿条
代码运用了网上再稍作调整测试。
单元测试的优点:
1.帮助开发人员编写代码,提升质量、减少bug。
2.提升反馈速度,减少重复工作,提高开发效率。
3.保证=最后的代码修改不会破坏之前代码的功能。
4.让代码维护更容易。
5.有助于改进代码质量和设计。
PSP
步骤 | 耗时 | 百分比 |
---|---|---|
需求分析 | 15m | 12.5% |
设计 | 30m | 25% |
代码实现 | 45m | 37.5% |
测试 | 20m | 16.7% |
分析总结 | 10m | 8.3% |