我试图在Squeak中实现一个新类,出于某种原因,当我运行一个测试时,即使消息已定义,我也会收到MessageNotUnderstood错误。 类代码:构造函数未找到
Object subclass: #ClassAnalyzer
instanceVariableNames: 'theClasses'
classVariableNames: ''
poolDictionaries: ''
category: 'OOP3'!
!ClassAnalyzer methodsFor: 'initialize-release' stamp: 'NK 11/30/2009 22:50'!
initialize: setOfClasses
theClasses := setOfClasses.! !
!ClassAnalyzer methodsFor: 'initialize-release' stamp: 'NK 11/30/2009 22:49'!
newWith: input
[input isKindOf: Collection]
ifFalse: [^ClassAnalyzer new: input].
^ClassAnalyzer new: (input asSet).! !
而这里的,我跑测试:
| abcd z |
z:=1class.
abcd:= ClassAnalyzer newWith: z.
任何想法,我做错了吗? 我当前的理论是,因为当你调用构造函数时没有对象,所以它应该有点不同(也许应该有一个在Object或protoObject中具有相同名称的预定义函数),但如果这是交易,那么如何我们将会在不更改Object的情况下定义一个没有标准名称的构造函数吗?