软件构造实验3总结

本次实验覆盖课程第3、5、6章内容,目标是编写具有可复用性和可维护性的软件。运用子类型、泛型等软件构造技术,针对五个应用开发可复用的ADT。实验过程包括基于语法的图数据输入、面向复用的设计、可复用API设计和图的可视化。通过实验学习了正则表达式、编写API等,提高编程效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

实验目标
本次实验覆盖课程第 3、5、6 章的内容,目标是编写具有可复用性和可维护 性的软件,主要使用以下软件构造技术:
⚫ 子类型、泛型、多态、重写、重载
⚫ 继承、代理、组合
⚫ 常见的 OO 设计模式
⚫ 语法驱动的编程、正则表达式
⚫ 基于状态的编程
⚫ API 设计、API 复用 本次实验给定了五个具体应用(径赛方案编排、太阳系行星模拟、原子结构 可视化、个人移动 App 生态系统、个人社交系统),学生不是直接针对五个应用 分别编程实现,而是通过 ADT 和泛型等抽象技术,开发一套可复用的 ADT 及其 实现,充分考虑这些应用之间的相似性和差异性,使 ADT 有更大程度的复用(可复用性)和更容易面向各种变化(可维护性)。

实验过程
基于语法的图数据输入
首先就是对于正则表达式的使用:
由于读入的文件数据有规范的格式,所以利用正则表达式来筛选并获得有用的信息。
在这里插入图片描述
在这里插入图片描述

面向复用的设计:CircularOrbit<L,E>接口
然后就是对泛型的设计与使用
设计抽象类CentralObject和PhysicalObject,然后使用每个轨道系统的中心物体继承CentralObject,轨道上的物体继承PhysicalObject
而CircularOrbit<L,E>中的方法也使用L、E作为参数类型和返回值类型。
在这里插入图片描述
可复用API设计
在CircularOrbitApis中设计可以复用的静态方法
在这里插入图片描述
图的可视化:第三方API的复用
使用javax.swing.JFrame 和 javax.swing.JPanel绘制轨道系统
学习使用第三方API
在这里插入图片描述
实验总结
本次实验中,我们需要根据场景从头来设计ADT,并尝试使用泛型来减少代码与工作量。我们学习了正则表达式的使用;还学习了编写specification, invariants, RI, AF,从而能让自己更清楚的认识到每一个方法具有什么样的功能。
此外,我们还尝试了自己编写API以及使用别人已经编写好的API。通过使用API,可以提高编程的效率。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值