OO第三单元总结
OO第三单元总结
一、架构设计
1.第九次作业
本次作业相对简单,没有过多设计。在查询连通块时使用了深度优先搜索。
2.第十次作业
本次作业中的qlc一开始没有看懂,看了讨论区的分析之后,才理解了。
维护了block结构,记录该block内的人和关系(点和边),在添加人时新增block,添加关系时合并block。
最小生成树使用了Kruskal算法,先对边排序,从权最小的边开始,依次判断该边的两个端点是否在同一连通分量,如果不再则选择该边,否则舍弃,直到全部节点都在一个连通分量中。
3.第十一次作业
最短路径问题使用了Dijkstra算法
二、bug修复
出现了除零的bug,以及没有注意到qgps中1111的限制等
三、NetWork扩展
新增Advertiser,Producer,Customer类继承自Person类,新增Produce类,设置一个属性表示是否发布了该产品的广告;
四、心得体会
本单元的学习主要是对JML的理解分析,代码规格对于代码的实现有很大指导作用。但是JML只是确定了各个方法的规则与目的,具体的代码实现算法可以根据不同需求有不同的实现方法。