В общем, объясняя семикласснику ООП, я понял, что все эти полиморфизмы, наследования и прочие инкапсуляции к сути дела не имеют никакого отношения. Это лишь формы, а сущность же ООП в том, чтобы посылать сообщения.

Да-да. Если мыслить методы именно так, как они и задумывались изначально, то всё встаёт на свои места.

Объекты должны обмениваться сообщениями, это главное, это самое мякотко, самое простое, что есть в ООП. Понимая это, можно раскручивать всё остальное.