我仍在学习Pharo,但这有点令人困惑。有两个类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
方法,但是仍然存在问题。
答案 0 :(得分:4)
您需要跟踪租车,对吗?为此,将ivar -50
添加到rented
类并将其初始化为空集合:
CarRental
(换句话说,将上述行包含在rented := OrderedCollection new.
方法中-实例端。)
现在,每次租车时,将其添加到#initialize
集合中:
rented
以及返还汽车时
rent: aCar
rented add: aCar
您还可以添加到目前为止缺少的getter方法
return: aCar
rented remove: aCar
并计算出可供出租的汽车
rentedCars
^rented