我还在学习法老,但这有点让人困惑。有两个类,CarRental和Car,以及Test类CarRentalTest。
有固定数量的车,同一辆车不能租两次,我有代码,但有错误。
| carRental redPanda yellowPanda blackTesla |
carRental := CarRental new.
redPanda := Car panda.
yellowPanda := Car panda.
blackTesla := Car tesla.
carRental
addCar: redPanda;
addCar: yellowPanda;
addCar: blackTesla.
self assert: carRental availableCars size equals: 3.
carRental rent: redPanda days: 5.
self assert: carRental availableCars size equals: 2.
self assert: carRental rentedCars size equals: 1我试图初始化availableCars和rentedCard方法,但仍然存在一个问题。
发布于 2019-01-10 19:38:55
你需要追踪租来的车,对吧?为此,将ivar rented添加到CarRental类并将其初始化为空集合:
rented := OrderedCollection new.(换句话说,将上面的行包含在#initialize方法-实例端。)
现在,每次租车时,将其添加到rented集合中:
rent: aCar
rented add: aCar当车还回来时
return: aCar
rented remove: aCar此外,还可以添加到目前为止缺少的getter方法。
rentedCars
^rented并计算出可供出租的汽车
availableCars
^cars copyWithoutAll: rentedhttps://stackoverflow.com/questions/54129716
复制相似问题