首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >VisualWorks Smalltalk -无法访问父方法

VisualWorks Smalltalk -无法访问父方法
EN

Stack Overflow用户
提问于 2013-11-17 17:32:06
回答 3查看 418关注 0票数 1

我对类继承有一个问题--我有两个类定义如下:

代码语言:javascript
复制
Smalltalk defineClass: #Field
superclass: #{Core.Object}
indexedType: #none
private: false
instanceVariableNames: 'name type '
classInstanceVariableNames: ''
imports: ''
category: ''

代码语言:javascript
复制
Smalltalk defineClass: #CheckBox
superclass: #{Smalltalk.Field}
indexedType: #none
private: false
instanceVariableNames: 'checked '
classInstanceVariableNames: ''
imports: ''
category: ''

在课堂“字段”中,我有一个方法setName:

代码语言:javascript
复制
setName: n
name := n.
^n

对于这样的事情来说,它非常好:

代码语言:javascript
复制
|tmp|
tmp := Field new.
tmp setName: 'fancy name'.

,但在上面的示例中,当我将'Field‘改为'CheckBox’时,总是会得到“未处理的异常: MessageNotUnderstood:#setName:”。你们知道我应该如何让我的子类从它的父类继承setName:方法吗?我到处都在找答案,但到目前为止还没有找到答案。

编辑:完整的错误消息是:

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-11-17 19:23:59

好的,下面是我的问题:我很蠢。我在乱搞我的CheckBox初始化方法,最后意外地删除了^self行。把它放回去后一切都很好。谢谢你的帮助,大卫,很抱歉占用你的时间。

票数 0
EN

Stack Overflow用户

发布于 2013-11-17 18:11:49

不知何故,您的CheckBox类没有被编译。检查拼写。确保没有名为CheckBox的现有类。确保可以在浏览器中看到CheckBox类。

票数 2
EN

Stack Overflow用户

发布于 2013-11-17 19:09:07

就在云雀上--在工作区窗口中,转到变量选项卡,确保没有一个名为CheckBox的变量。如果是,请删除它,然后再试一次。

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

https://stackoverflow.com/questions/20033869

复制
相关文章

相似问题

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