You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Smalltalk报错:[basicNew]未实现Super和Self消息,求解决

解决Smalltalk中[basicNew] Super and Self Messages sent but not implemented错误

你遇到的问题出在basicNew的使用方式和消息发送时机上,结合你的代码,按以下步骤修复:

  1. 拆分初始化步骤
    直接链式调用self basicNew setRoll:可能会因为实例未完全就绪导致错误,改成分步创建和初始化:

    new: dice
      | instance |
      instance := self basicNew.
      instance setRoll: dice.
      ^instance
    
  2. 确认setRoll:的方法类型
    确保setRoll:是你的类的实例方法,而不是类方法。如果误把它定义成了类方法,发送给basicNew创建的实例时,就会出现找不到方法的错误。

补充说明:basicNew只负责为实例分配内存并关联类,不会执行任何初始化逻辑,必须手动调用初始化方法完成实例的准备工作,拆分步骤能避免消息发送时机带来的问题。

内容的提问来源于stack exchange,提问作者Anon

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.30 08:12:02