首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Smalltalk (Pharo)方法

Smalltalk (Pharo)方法
EN

Stack Overflow用户
提问于 2019-01-07 16:31:05
回答 2查看 432关注 0票数 1

我正在努力学习Smalltalk (法老),但是由于没有那么多可用的文档,我想寻求一些帮助。我有两个类,CarRental和Car,还有一个测试类,CarRentalTest。现在,支持租车服务有了一堆固定的汽车。

代码语言:javascript
复制
| carRental |
carRental := CarRental new.
carRental
    addCar: Car panda;
    addCar: Car panda;
    addCar: Car tesla.
self assert: carRental totalCars size = 3

但是,我的addCar方法是红色的,我如何修复它?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-01-07 21:49:35

您的方法addCar:是红色的(请注意末尾的冒号),因为您还没有定义它。让我们把它写下来:

CarRental必须有一个实例变量,它将容纳它的所有车辆。假设我们把它命名为cars

initialize方法(实例端)中,我们需要执行以下操作

代码语言:javascript
复制
CarRental >> initialize
  super initialize.
  cars := OrderedCollection new.

现在,如果我们创建一个CarRental的新实例,那么它的cars ivar中将有一个空的OrderedCollection

现在,我们可以添加这样的addCar:方法

代码语言:javascript
复制
CarRental >> addCar: aCar
  cars add: aCar

最后,确保你有这样的东西

代码语言:javascript
复制
CarRental >> totalCars
  ^cars size

检查您的代码,并继续尝试!

票数 1
EN

Stack Overflow用户

发布于 2019-01-07 19:03:34

有很多文件可供法罗使用:

这里有一些提示:

现在,关于你的问题,很难有答案,它取决于很多事情,例如:容器是集合还是OrderedCollection?Car panda回答什么?一个新的汽车实例还是总是一样的?

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54078231

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档