消息传递介绍

面向对象设计中,对象接收消息并回复它们。在 Ruby 中,发送消息是调用方法,该方法的结果是回复。

在 Ruby 中,消息传递是动态的。当消息到达而不是确切知道如何回复它时,Ruby 使用一组预定义的规则来查找可以回复它的方法。我们可以使用这些规则来中断和回复消息,将其发送到另一个对象或在其他操作中进行修改。

每次对象收到消息时,Ruby 都会检查:

  1. 如果此对象具有单例类,则它可以回复此消息。
  2. 查找这个对象的类然后是类’祖先链。
  3. 逐个检查此祖先是否有方法可用并向上移动链。