Коротка відповідь: ні.
Довга відповідь: "Не існує простого способу", оскільки OOP далеко не простий. Процедурне програмування стосується "змінних" і "якщо потім перейти". Все інше - синтаксичний цукор, але ці чотири речі - це все, що стосується процедурного програмування. Як тільки ви їх отримаєте, ніщо не може зупинити вас.
OOP - це спосіб організації змінних та фрагментів коду. Скільки моделей існує для визначення OOP? 25? 30? Навіть викладачі, які вивчали ООП з різних мов та походження, не згодні з його власним визначенням, тож ... як це може бути просто?
Я не знаю, як ви дійшли до цього, але оскільки у вашої матері є подібний досвід до мого, я можу вам сказати, як я прийшов до цього.
Я програмував на C в дуже великому проекті. Це було 1988. Багато програмістів організовували модулі та бібліотеки, утруднюючись уникнути втручання в інші робочі місця та зберігати належну сегрегацію обов'язків.
Ми прийшли до "рішення", яке полягало в тому, щоб ввести всі взаємопов'язані глобальні дані в структури, розмістивши в тій структурі деякі функціональні вказівники, де необхідні зворотні виклики. Таким чином ми узагальнили те, що ми назвали io_mask
(різновид діалогових вікон текстового режиму) graphic_manager
тощо, тощо.
У 1996 році було дуже легко виявити, що ці структури були названі "класами", а ті функціональні вказівники замінені функцією-членом і віртуальними функціями, або посиланнями на інші об'єкти (звані поведінкою) іншими програмістами, які відновили цей старий проект.
Я почав розуміти ООП, коли почав відчувати потребу в ньому: сегрегація, поліморфізм та певна поведінка.
Сьогодні я працюю з ООП, але я не вважаю це доктриною, яка повинна слугувати: просто "загальна ідіома" (набір ...), яка дозволяє нам говорити разом без необхідності постійно надавати довгі пояснення та описи. . Насправді, більше "конвенція", ніж будь-що інше. Зрештою, все, що робить OOP, це -again- "if then goto": це просто робиться "багатошаровим". Звідси абстракція та ідіоми над ідіомами.
Ігноруйте їх. Поки вона не відчує потреби в них, навіть не намагайся пояснити: вона буде відчувати їх так само, як складний спосіб робити прості речі. І вона права ... поки те, що вона робить, - це фактично просто.
Ніхто не подумає "організувати стіл", якщо на вершині всього чотири речі. Має сенс, коли речі зверху починають заважати одна одній. Настав час прийому ООП.
Для роботи з C ++ вам не потрібен OOP. Вся стандартна бібліотека C ++ не розроблена в плані OOP (хоча вона може співпрацювати з нею), а C ++ - не Java.
З мого досвіду найгірші C ++ викладачі та програмісти на C ++ - це ті, хто походить з Java, навчаючи всі свої забобони щодо всього, що не є OOP, денатурація такою мовою, як C ++, яка не є (тільки) для OOP.
Дозвольте запропонувати гарну книгу для тих, хто хоче підійти до C ++: Прискорений C ++ : це введе вас у ідіоми C ++, не претендуючи на дотримання заздалегідь визначеного вчення.