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

好吧,伙计们,我正在自己做一个巴士预订项目。让我给你们一个关于我正在尝试做的事情的基本想法。


假设我有一个名为“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辆。那么我可以尝试什么其他方法或我缺少的其他概念来解决上述问题。


红糖糍粑
浏览 113回答 1
1回答

MMTTMM

这将是一个非常通用的答案,但我觉得它需要比评论更多的空间和格式。本质上,您不想使用您class Bus来管理座位,您Bus应该只用于管理特定时间公交车上发生的情况。例如:数量/车牌巴士上的座位(一旦安排)离开到达司机ETC为了调度的目的,您希望有一个class Reservation包含有关特定日期公交车的所有信息的信息,例如:日期离开到达座位这意味着使用你的例子:User 1 - Reservation(today, Bus 1, Seat A1)Bus 1 = all reservations for today city A to city BA1 is empty - fill it.User 2 - Reservation(tomorrow, Bus 1, Seat A1)Bus 1 = all reservations for tomorrow city A to city BA1 is empty - fill it.User 3 - Reservation(tomorrow, Bus 1, Seat A1)Bus 1 = all reservations for tomorrow city A to city BA1 is filled - cannot save reservation您使用巴士查看某个时间点 - 这还应该包括时间、出发和到达,因为巴士 1 座位 A1 在从城市 B 到城市 A 的行程中可用。这样,现在有三辆公交车,但是当他们能够购买第四辆公交车时,所有的改变就是能够安排第四个出发/到达对,然后将其应用于车队中的任何公交车。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java