Lab 3心得

1.⽬目标概述
根据实验⼿册简要撰写。
2.实验环境配置
简要陈述你配置本次实验所需环境的过程,必要时可以给出屏幕截图。
特别是要记录配置过程中遇到的问题和困难,以及如何解决的。
在这⾥给出你的GitHub Lab3仓库的URL地址(Lab3-学号)。
https://github.com/ComputerScienceHIT/Lab3-1170300623.git
3.实验过程
请仔细对照实验⼿册,针对每⼀项任务,在下⾯各节中记录你的实验过程、
阐述你的设计思路和问题求解思路,可辅之以⽰意图或关键源代码加以说明(但
千万不要把你的源代码全部粘贴过来!)。
3.1.待开发的三个应⽤场景
⾸先请列出你要完成的具体应⽤场景(⾄少3个,1和2中选⼀,3必选,4和
5中选⼀,⿎励完成更多的应⽤场景)。
● ⾏星运动模拟
● 原⼦结构模型
● 社交⽹络好友分布
分析你所选定的多个应⽤场景的异同,理解需求:它们在哪些⽅⾯有共性、
哪些⽅⾯有差异。
!1
3.2.基于语法的图数据输⼊
3.3.⾯向复⽤的设计:CircularOrbit<L,E>
Abstraction function:
AF(centralObject) 轨道上的中⼼心物体
AF(physicalObjects) 将物理理对象存储在轨道上
AF(tracks) 映射到每个轨道上存储轨道和物理理对象
AF(cEdges) 列列表,⽤用于存储中⼼心对象和物理理对象之间的边
AF(pEdges) 列列表,⽤用于存储两个物理理对象之间的边
所有对象都不不同名
中⼼心对象可以为空
所有的值不不能有交集
所有相关对象都应该在这个圆形轨道上
3.4.⾯向复⽤的设计:Track
使⽤用哈希表判断两添加数据是否存在
public int hashCode()
{
final int prime = 31;
int result = 1;
result = prime * result + ((radius == null) ? 0 : radius.hashCode());
return result;
}
@Override
public boolean equals(Object obj)
{
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
SocialTie other = (SocialTie) obj;
if (radius == null)
!2
{
if (other.radius != null)
return false;
}
else if (!radius.equals(other.radius))
return false;
return true;
3.5.⾯向复⽤的设计:L
3.6.⾯向复⽤的设计:PhysicalObject
3.7.可复⽤API设计
AF(circularOrbit1) 第⼀一个轨道.
AF(circularOrbit2) 第⼆二个轨道.
AF(trackNumber) 轨道数量量差.
AF(objectNumber) 轨道中对象的差.
!3
AF(physicalObjects1) 在第⼀一条轨道不不在第⼆二条轨道.
AF(physicalObjects1) 在第⼆二条轨道不不在第⼀一条轨道.
常量量:
physicalObjects1或physicalObjects2的objectNumber it的⻓长度应
该彼此相同
3.8.图的可视化:第三⽅API的复⽤
3.9.设计模式应⽤
请分⼩节介绍每种设计模式在你的ADT和应⽤设计中的具体应⽤。
3.10.应⽤设计与开发
利⽤上述设计和实现的ADT,实现⼿册⾥要求的各项功能。
以下各⼩节,只需保留和完成你所选定的应⽤即可。
3.10.1.TrackGame
3.10.2.StellarSystem
3.10.3.AtomStructure
3.10.4.PersonalAppEcosystem
3.10.5.SocialNetworkCircle
3.11.应对应⽤⾯临的新变化
以下各⼩节,只需保留和完成你所选定的应⽤即可。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值