Краткий ответ: нет.
Длинный ответ: «Простого пути» не существует, потому что ООП далеко не прост. Процедурное программирование - это все о «переменных» и «если тогда иди». Все остальное - синтаксический сахар, но эти четыре вещи - все, что является процедурным программированием. Как только вы их получите, ничто не сможет остановить вас.
ООП - это способ организации переменных и фрагментов кода. Сколько шаблонов существует для определения ООП? 25? 30? Даже учителя, которые изучали ООП на разных языках и с разным опытом, не согласны с его собственным определением, так что ... как это может быть просто?
Я не знаю, как вы к этому пришли, но, поскольку у вашей матери такой же опыт, как у меня, я могу рассказать вам, как я к этому пришел.
Я программировал на С в очень большом проекте. Это был 1988 год. Многие программисты организовывали модули и библиотеки, с трудом избегая вмешательства в другие рабочие места и сохраняя хорошее разделение обязанностей.
Мы пришли к «решению», заключающемуся в том, чтобы поместить все взаимосвязанные глобальные данные в структуры, поместив в эти структуры некоторые указатели на функции, для которых требовались обратные вызовы. Таким образом, мы обобщили то, что мы назвали io_mask
(диалоговые окна текстового режима) и graphic_manager
т. Д. И т. Д.
В 1996 году было очень легко обнаружить, что эти структуры были названы «классами», и эти указатели функций были заменены функциями-членами и виртуальными функциями или со ссылками на другие объекты (так называемые поведения) другими программистами, которые обновили этот старый проект.
Я начал понимать ООП, когда начал чувствовать потребность в этом: сегрегация, полиморфизм и поведение, определяемое во время выполнения.
Сегодня я работаю с ООП, но я не думаю, что это будет доктрина для служения: просто «общая идиома» (набор ...), которая позволяет нам говорить вместе без необходимости постоянно давать длинные объяснения и описания , На самом деле, больше "конвенция", чем что-либо еще. В конце концов, все ООП делает -again- "if then goto": он просто делает это "многослойно". Отсюда абстракция и идиомы над идиомами.
Игнорируй их. Пока она не испытывает потребности в них, даже не пытайтесь объяснить: она будет чувствовать их как сложный способ делать простые вещи. И она права ... пока все, что она делает, на самом деле просто.
Никто не подумает «организовать стол», если сверху всего четыре вещи. Это имеет смысл, когда вещи сверху начинают мешать друг другу. Это время для ООП, чтобы войти.
Вам не нужно ООП для работы с C ++. Вся стандартная библиотека C ++ не разработана с точки зрения ООП (хотя она может с ней сотрудничать), и C ++ не является Java.
По моему опыту, худшие учителя C ++ и программисты C ++ - это те, кто пришел из Java, учить всем своим предубеждениям обо всем - это не ООП, денатурируя язык, подобный С ++, который не (просто) для ООП.
Позвольте мне предложить хорошую книгу для тех, кто хочет приблизиться к C ++: Ускоренный C ++ : он познакомит вас с идиомами C ++, не притворяясь, что следует предопределенной доктрине.