gpt4 book ai didi

oop - parking 场,面向对象设计 - 定制设计

转载 作者:行者123 更新时间:2023-12-04 05:56:28 25 4
gpt4 key购买 nike

关闭。这个问题需要更多focused .它目前不接受答案。












想改善这个问题吗?更新问题,使其仅关注一个问题 editing this post .

1年前关闭。




Improve this question




我正在研究 parking 场示例,并在设计时做了一些假设。

我在为项目/对象分配属性时有几个问题。

1) 如果 parking 空间不是由系统分配的,即用户刚进入 Lot,找到合适的地方(汽车/自行车/卡车/残疾人)并停放他的汽车。

我想我不需要 ParkingSpace 对象,但相反,我可以为每个 category_of_parking_space 保留 no_of_free_places 的计数。

由于 parking 位很大,我们只维护三个变量。

  • no_of_free_slots_Car
  • no_of_free_slots_Bike
  • no_free_slots_Truck
  • no_free_slots_Handicipped

  • 当有车辆进来时,我们只减少上述值之一(这意味着,在可用的 X 个位置中,用户选择一个并停在那里),当车辆出去时,我们增加相应的值。
    (简而言之, parking 场不是由任何人分配的,车辆只是去那里符合条件的地方和公园之一)

    2) 假设我们有一个全局 parking 计时器。
    --> start_time/end_time 应该是 Vehicle 的一个属性吗?
    或者
    --> Vehicle_id, start_time, end_time 是 ParkingMeter 的一部分。

    3)假设需要parkingSpace对象,应该4_wheeler、2_wheeler、残疾人是一个枚举类型,还是一个单独的类。
    如果是枚举,我们可以使用 findEmptySlot(parkingSpace_type);
    如果它们完全是单独的类,并且 ParkingLot 有一个方法 findEmptySlot();
    我们怎样才能得到合适的Slot?

    ParkingMeter 将负责设置车辆的开始、结束时间对吗?

    如果有多个金额,1 小时 - 20 美元、2 小时 - 30 美元、3 小时 - 40 美元、5 小时 - 50 美元
    是否有 ParkingMeter 类的这些部分,或者将它们包含在单独的类“ParkingPrice”中

    最佳答案

    好的,

  • 我不太明白这个问题,但我确实会使用一个数组 ParkingSpace对象来描述公园中的空间。
  • 由于时间是每辆车,所以应该在车辆上设置时间。
  • 我会为每个类使用不同的类,并且每个类都应该扩展抽象类 Vehicle .它允许灵活地使用每种车辆类型的通用和独特属性(所有车辆的序列号,但例如只有 4_wheelers 有门)。至于如何找到空车位,各ParkingSpace对象会有一个 $takenBy属性,它将持有一个车辆对象的实例占据它。它应该默认为 null ,然后,您只需遍历 ParkingLot 中的空格数组即可。类,然后用 $space->takenBy == null 找到那个.
  • 关于oop - parking 场,面向对象设计 - 定制设计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9454102/

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