如何在smalltalk中检查objectA是否将所有消息都作为objectB?

如何在smalltalk中检查objectA是否将所有消息都作为objectB?,smalltalk,squeak,gnu-smalltalk,Smalltalk,Squeak,Gnu Smalltalk,我正在使用smalltalk—我需要检查objectA是否具有objectB所具有的所有消息(方法) 我需要编写自己的代码,如何才能做到这一点?例如,您可以询问对象的类,它的实例了解哪些选择器: objectA class allSelectors 然后,您可以询问不同的对象并比较结果。例如,您可以询问对象的类,它的实例可以理解哪些选择器: objectA class allSelectors 然后你可以询问不同的对象并比较结果。解决方案可能是 objectA class allSelect

我正在使用smalltalk—我需要检查
objectA
是否具有
objectB
所具有的所有消息(方法)


我需要编写自己的代码,如何才能做到这一点?

例如,您可以询问对象的类,它的实例了解哪些选择器:

objectA class allSelectors

然后,您可以询问不同的对象并比较结果。

例如,您可以询问对象的类,它的实例可以理解哪些选择器:

objectA class allSelectors
然后你可以询问不同的对象并比较结果。

解决方案可能是

objectA class allSelectors includesAll: objectB class allSelectors
解决办法可能是

objectA class allSelectors includesAll: objectB class allSelectors

请提出更具体的要求,最重要的是,在这里展示您为发现此问题所做的工作。否则,看起来你只是在重复课程中要求你做的事情。这个问题本身,没有更多的上下文,似乎是人为的。我的问题中有什么不清楚?@Francy这个问题很有意义。例如,你可以解释你的问题是,如何找出一个对象所能理解的所有消息,或者你在比较结果时有困难。@Francy还尝试正确使用术语。对象可能根据其类和超类实现的方法来理解消息。请询问更具体的问题,最重要的是,在这里显示您为发现此问题所做的工作。否则,看起来你只是在重复课程中要求你做的事情。这个问题本身,没有更多的上下文,似乎是人为的。我的问题中有什么不清楚?@Francy这个问题很有意义。例如,你可以解释你的问题是,如何找出一个对象所能理解的所有消息,或者你在比较结果时有困难。@Francy还尝试正确使用术语。对象可能根据其类及其超类实现的方法理解消息。请注意,仅使用#选择器是不够的,因为您缺少超类中定义的方法。你应该使用#all选择器,比如@MartinW saidTrue。我认为这个问题并不清楚,而是集中在问题模棱两可的课堂上。但就对象而言,我认为你是对的。请注意,仅使用#选择器是不够的,因为你错过了超类中定义的方法。你应该使用#all选择器,比如@MartinW saidTrue。我认为这个问题并不清楚,而是集中在问题模棱两可的课堂上。但从客观角度看,我认为你是对的