Smalltalk报错:[basicNew]未实现Super和Self消息,求解决
解决Smalltalk中
[basicNew] Super and Self Messages sent but not implemented错误 你遇到的问题出在basicNew的使用方式和消息发送时机上,结合你的代码,按以下步骤修复:
拆分初始化步骤
直接链式调用self basicNew setRoll:可能会因为实例未完全就绪导致错误,改成分步创建和初始化:new: dice | instance | instance := self basicNew. instance setRoll: dice. ^instance确认
setRoll:的方法类型
确保setRoll:是你的类的实例方法,而不是类方法。如果误把它定义成了类方法,发送给basicNew创建的实例时,就会出现找不到方法的错误。
补充说明:basicNew只负责为实例分配内存并关联类,不会执行任何初始化逻辑,必须手动调用初始化方法完成实例的准备工作,拆分步骤能避免消息发送时机带来的问题。
内容的提问来源于stack exchange,提问作者Anon
相关产品推荐
相关产品推荐

