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% |
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Java 中堆内存和栈内存上的数据分布和特点
· 开发中对象命名的一点思考
· .NET Core内存结构体系(Windows环境)底层原理浅谈
· C# 深度学习:对抗生成网络(GAN)训练头像生成模型
· .NET 适配 HarmonyOS 进展
· 手把手教你更优雅的享受 DeepSeek
· 腾讯元宝接入 DeepSeek R1 模型,支持深度思考 + 联网搜索,好用不卡机!
· AI工具推荐:领先的开源 AI 代码助手——Continue
· 探秘Transformer系列之(2)---总体架构
· V-Control:一个基于 .NET MAUI 的开箱即用的UI组件库