面向对象JML:实现Path与Graph容器,实战设计模式与单元测试
需积分: 0 181 浏览量
更新于2024-08-05
收藏 594KB PDF 举报
本次面向对象JML系列的第二次作业旨在深入理解并应用JML规格、设计模式以及单元测试的基本概念。核心任务是实现两个关键类,容器类Path和数据结构类Graph。Path类作为基础,提供基于路径的操作,如增删查改,其接口定义中使用了JML的invariant和constraint等高级特性,以确保代码的正确性和一致性。
Graph类则是对PathContainer的扩展,继承了上一次作业中的接口,新增了无向图相关的功能。它需要支持路径的转换为无向图结构,并能进行基于无向图的查询。同学们需要根据官方提供的接口源代码和JML规格文档,自定义类名为MyPath和MyGraph的实现,确保每个接口方法的代码严格按照规格进行编写。
Path类的构造方法设计尤为重要,要求有一个接受nodeList数组参数的构造函数,用于根据节点序列创建Path对象。这种变长参数的使用能够提高代码的灵活性和可读性。同时,类和构造函数都需要声明为public,以便在主类AppRunner中实例化。
在实现过程中,同学们还需要注意单元测试的运用,作业提交将采用公测、互测和bug修复的黑箱测试模式,这意味着代码不仅要满足功能需求,还要经受严格的测试验证。这意味着同学们需要编写有效的测试用例,确保代码的稳定性和正确性。
本次作业不仅要求掌握面向对象编程和设计模式的基础,还要学会如何通过JML规格来规范代码,以及如何进行单元测试以保证代码质量。这是一项综合性强,能够提升编程技能和实践能力的重要任务。
2022-08-03 上传
2022-08-03 上传
2024-10-24 上传
2024-10-24 上传
2024-10-24 上传
2024-10-24 上传
耄先森吖
- 粉丝: 713
- 资源: 293
最新资源
- 掌握Jive for Android SDK:示例应用的使用指南
- Python中的贝叶斯建模与概率编程指南
- 自动化NBA球员统计分析与电子邮件报告工具
- 下载安卓购物经理带源代码完整项目
- 图片压缩包中的内容解密
- C++基础教程视频-数据类型与运算符详解
- 探索Java中的曼德布罗图形绘制
- VTK9.3.0 64位SDK包发布,图像处理开发利器
- 自导向运载平台的行业设计方案解读
- 自定义 Datadog 代理检查:Python 实现与应用
- 基于Python实现的商品推荐系统源码与项目说明
- PMing繁体版字体下载,设计师必备素材
- 软件工程餐厅项目存储库:Java语言实践
- 康佳LED55R6000U电视机固件升级指南
- Sublime Text状态栏插件:ShowOpenFiles功能详解
- 一站式部署thinksns社交系统,小白轻松上手