为了账号安全,请及时绑定邮箱和手机立即绑定

如何预订不同旅程日期的单一巴士对象

如何预订不同旅程日期的单一巴士对象

红糖糍粑 2023-12-21 10:49:01
好吧,伙计们,我正在自己做一个巴士预订项目。让我给你们一个关于我正在尝试做的事情的基本想法。假设我有一个名为“Bus”的总线对象。它基本上有三种方法:           class Bus{           String date;           String seat;           int id;           public void BookSeats(String seat){           this.seat=seat           //code goes for booking seats            } ;           public void journeyDate(String date){            this.date=date           }           public void id(int id){              this.id=id;          }         }一个月有三十天,公司只有三辆公交车。所以将会有三个总线对象。这些将是:     Bus A =new Bus ( );     Bus B =new Bus ( );     Bus C= new Bus ( );因此,如果名为 user1 的用户现在于 2019 年 10 月 25 日 (dd/MM/YYYY) 预订了 id 1 的公交车 A 的名为“A1”的座位,则代码应为:    A.BookSeats("A1");    A.journeyDate("25/10/2019");    A.id (1);并且A1座位已被预订。现在让我困扰的是,假设一个名为 user2 的用户现在想要在 2019 年 10 月 26 日预订 id 1 的巴士 A 的名为“A1”的座位,那么此代码将不可能,因为它是相同的巴士 A 对象和座位 A1已预订 25/10/2019,但不应预订 26/10/2019  A.BookSeats("A1");  A.journeyDate("26/10/2019");//same bus A object but different   date.  A.id(1);// same id因此,作为解决这个问题的方法,我想为每月 30 天创建 30 个总线对象,并有 30 个与其日期相关的唯一 ID。但这对我来说是一个非常糟糕的方法。公司自有公交车3辆。那么我可以尝试什么其他方法或我缺少的其他概念来解决上述问题。
查看完整描述

1 回答

?
MMTTMM

TA贡献1869条经验 获得超4个赞

这将是一个非常通用的答案,但我觉得它需要比评论更多的空间和格式。本质上,您不想使用您class Bus来管理座位,您Bus应该只用于管理特定时间公交车上发生的情况。例如:

  • 数量/车牌

  • 巴士上的座位(一旦安排)

  • 离开

  • 到达

  • 司机

  • ETC

为了调度的目的,您希望有一个class Reservation包含有关特定日期公交车的所有信息的信息,例如:

  • 日期

  • 离开

  • 到达

  • 座位

这意味着使用你的例子:

User 1 - Reservation(today, Bus 1, Seat A1)

Bus 1 = all reservations for today city A to city B

A1 is empty - fill it.


User 2 - Reservation(tomorrow, Bus 1, Seat A1)

Bus 1 = all reservations for tomorrow city A to city B

A1 is empty - fill it.


User 3 - Reservation(tomorrow, Bus 1, Seat A1)

Bus 1 = all reservations for tomorrow city A to city B

A1 is filled - cannot save reservation

您使用巴士查看某个时间点 - 这还应该包括时间、出发和到达,因为巴士 1 座位 A1 在从城市 B 到城市 A 的行程中可用。


这样,现在有三辆公交车,但是当他们能够购买第四辆公交车时,所有的改变就是能够安排第四个出发/到达对,然后将其应用于车队中的任何公交车。


查看完整回答
反对 回复 2023-12-21
  • 1 回答
  • 0 关注
  • 122 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信