20145327实验二Java面向对象程序设计

时间:2023-03-09 01:30:32
20145327实验二Java面向对象程序设计

Java面向对象程序设计

实验内容

  1. 初步掌握单元测试和TDD
  2. 理解并掌握面向对象三要素:封装、继承、多态
  3. 初步掌握UML建模
  4. 熟悉S.O.L.I.D原则
  5. 了解设计模式

伪代码,产品代码,测试代码的应用:

20145327实验二Java面向对象程序设计

20145327实验二Java面向对象程序设计

20145327实验二Java面向对象程序设计

20145327实验二Java面向对象程序设计

20145327实验二Java面向对象程序设计

TDD的应用:

20145327实验二Java面向对象程序设计

20145327实验二Java面向对象程序设计

20145327实验二Java面向对象程序设计

20145327实验二Java面向对象程序设计

运用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());
} }

20145327实验二Java面向对象程序设计

出现红条 修改产品代码 成功出现绿条

20145327实验二Java面向对象程序设计

代码运用了网上再稍作调整测试。

单元测试的优点:

1.帮助开发人员编写代码,提升质量、减少bug。

2.提升反馈速度,减少重复工作,提高开发效率。

3.保证=最后的代码修改不会破坏之前代码的功能。

4.让代码维护更容易。

5.有助于改进代码质量和设计。

PSP

步骤 耗时 百分比
需求分析 15m 12.5%
设计 30m 25%
代码实现 45m 37.5%
测试 20m 16.7%
分析总结 10m 8.3%