相传递讯息更为精确。此二种风格的主要差异在于"唿叫方法/讯息传递"这个动作。C++里类别与方法的关系严格清楚，一个方法必定属于一个类别，而且在编译时（compile time）就已经紧密绑定，不可能唿叫一个不存在类别里的方法。但在Objective-C，类别与讯息的关系比较松散，唿叫方法视为对物件"发送讯息"，所有方法都被视为"对讯息的回应"。所有讯息处理直到执行时（runtime）才会动态决定，并交由类别自行决定如何处理收到的讯息。也就是说，一个类别不保证一定会回应收到的讯息，如果类别收到了一个无法处理的