gpt4 book ai didi

Java设计题

转载 作者:搜寻专家 更新时间:2023-11-01 03:13:49 24 4
gpt4 key购买 nike

我将应用程序作为业余爱好项目来开发。它是用 Java 编写的,是计算水肺潜水减压方案的系统的一部分。我遇到的问题是在存储我的潜水计划的类(class)中,这不是真正的问题,因为它工作正常,但我觉得它可以设计得更好,所以我想征求一些反馈。

我现在得到的是以下内容。

A类DivePlan它有一个 DiveOperations 的 ArrayList ( ArrayList<DiveOpperation> )。DivePlan类有3个功能。一个计划下降,一个计划上升,一个计划在相同深度进行平潜。所有这些功能都添加了一个 DiveOpperation对象到 ArrayList。然而,上升和下降有一些其他属性作为保持在相同深度的潜水。例如上升/下降的速度(以 m/s 为单位)。我现在将它的速度设置为 0 以进行平潜,但感觉不对。我知道我应该制作单独的类来扩展 DiveOpperation但那样我不知道它是否是 ascent , descentflatdive当我从数组中取出它时上课。

什么是此类功能的良好设计?

最佳答案

对此的多态解决方案是将 DiveOperation 类扩展为 AscentOperation、DescentOperation 和 FlatOperation,并保持现有的 ArrayList 类型。鉴于实现看起来很简单,我不确定您是否需要在此处执行此操作。

您最好为您的计算开发一组良好的单元测试,这样,如果需要增加复杂性以容纳更多功能,您可以更轻松地进行重构。

关于Java设计题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4260020/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com