【发布时间】:2013-12-16 17:16:05
【问题描述】:
我正在尝试开发一个在线酒店预订系统。我有一个主类,它接受用户的输入,例如他们的姓名、付款信息和其他数据字段,并使用该信息创建一个Reservation 对象。我有另一个名为Room 的类,它为每个Room 对象提供Reservations 的列表。我遇到的问题是我找不到将Reservation 对象添加到Room 对象列表中的方法。以下是部分代码:
public class HotelReservationSystem
{
private Reservation reservation;
public void makeReservation(int checkIn, int checkOut)//Other parameters
{
reservation = new Reservation(checkIn, checkOut);
}
}
public class Room
{
private ArrayList<Reservation> reservations;
public void addReservation(//parameters?)
{
reservations.add(//parameter?);
}
}
我不知道如何让新的Reservation 对象作为add 类中add 方法的参数传递。
我只是无法理解它,希望有人能帮助我慢慢思考。
感谢您的帮助。
【问题讨论】:
-
呃,你会使用参考。可能将其作为参数传递给 addReservation。
-
很可能你不应该有
reservation实例变量,但应该携带那个引用(你传递给addReservation的那个)作为你的方法中的一个局部参数,它正在编排整个“创建预订”操作。 -
将 HotelReservationSystem 想象成一张实体办公桌。只有一个。桌子上有一堆小房间,每个房间一个。当你创建一个 Reservation 时,你把它放在适当的小房间里。桌子上没有一个地方是单一预订的,除非是在职员 (
makeReservation) 临时将其写下来时,并且该预订完全保留在makeReservation内,直到它被归档到房间中。 -
我是一个视觉学习者,所以物理办公桌的例子确实帮助我理解了如何实现设计。感谢您的不同观点!
-
我认为将这类事情视为一个物理过程总是有用的。一旦你掌握了它,你也许可以将它简化为某种数学模型,但你需要先得到那个“句柄”。
标签: java parameters parameter-passing