我正在努力学习Smalltalk (法老),但是由于没有那么多可用的文档,我想寻求一些帮助。我有两个类,CarRental和Car,还有一个测试类,CarRentalTest。现在,支持租车服务有了一堆固定的汽车。
| carRental |
carRental := CarRental new.
carRental
addCar: Car panda;
addCar: Car panda;
addCar: Car tesla.
self assert: carRental totalCars size = 3但是,我的addCar方法是红色的,我如何修复它?
发布于 2019-01-07 21:49:35
您的方法addCar:是红色的(请注意末尾的冒号),因为您还没有定义它。让我们把它写下来:
类CarRental必须有一个实例变量,它将容纳它的所有车辆。假设我们把它命名为cars。
在initialize方法(实例端)中,我们需要执行以下操作
CarRental >> initialize
super initialize.
cars := OrderedCollection new.现在,如果我们创建一个CarRental的新实例,那么它的cars ivar中将有一个空的OrderedCollection。
现在,我们可以添加这样的addCar:方法
CarRental >> addCar: aCar
cars add: aCar最后,确保你有这样的东西
CarRental >> totalCars
^cars size检查您的代码,并继续尝试!
发布于 2019-01-07 19:03:34
有很多文件可供法罗使用:
这里有一些提示:
现在,关于你的问题,很难有答案,它取决于很多事情,例如:容器是集合还是OrderedCollection?Car panda回答什么?一个新的汽车实例还是总是一样的?
https://stackoverflow.com/questions/54078231
复制相似问题