For many years, I've been teaching programming courses. In order to help people visualize how object oriented programming works, I've developed an analogy. Imagine a person sitting at a desk. The person corresponds to an object. In front of the person is a pile of instruction books. There's one book for the class and one for each of its superclasses. Also on the table is a sheet of paper where you have written down your instance variables and another ready for temporary variables.
When a message arrives, you read it and look up the instructions for the method named by the message. You look in book for your own class first then go through the books for the superclasses until you find the method.
You then start running the instructions in the book. When you get to a message send, you write a message to an object and send it off. You then take a coffee break until the answer returns.