訊息傳遞介紹

物件導向設計中,物件接收訊息並回覆它們。在 Ruby 中,傳送訊息是呼叫方法,該方法的結果是回覆。

在 Ruby 中,訊息傳遞是動態的。當訊息到達而不是確切知道如何回覆它時,Ruby 使用一組預定義的規則來查詢可以回覆它的方法。我們可以使用這些規則來中斷和回覆訊息,將其傳送到另一個物件或在其他操作中進行修改。

每次物件收到訊息時,Ruby 都會檢查:

  1. 如果此物件具有單例類,則它可以回覆此訊息。
  2. 查詢這個物件的類然後是類’祖先鏈。
  3. 逐個檢查此祖先是否有方法可用並向上移動鏈。