Respuesta corta: no.
Respuesta larga: no hay una "forma simple" porque la POO está lejos de ser simple. La programación de procedimientos tiene que ver con "variables" y "if then goto". Todo lo demás es azúcar sintáctica, pero esas cuatro cosas son de lo que se trata la programación procesal. Una vez que los consigas, nada puede detenerte.
OOP es una forma de organizar variables y piezas de código. ¿Cuántos patrones hay para definir OOP? 25? 30? Incluso los maestros que aprendieron OOP de diferentes idiomas y orígenes no están de acuerdo con su propia definición, entonces ... ¿cómo puede ser simple?
No sé cómo llegaste a eso, pero como tu madre tiene una experiencia similar a la mía, puedo decirte cómo llegué a eso.
Estaba programando en C en un proyecto muy grande. Era 1988. Muchos programadores organizaron módulos y bibliotecas, con la dificultad de evitar interferencias en otros trabajos y mantener una buena segregación de funciones.
Llegamos a una "solución" que consistía en poner todos los datos globales interrelacionados en estructuras, colocando en esa estructura algunos punteros de función donde se requerían devoluciones de llamada. Así generalizamos lo que llamamos io_mask
(tipo de cuadros de diálogo de modo textual) y graphic_manager
etc. etc.
En 1996 fue muy fácil descubrir que esas estructuras se llamaban "clases" y que los punteros de funciones se reemplazaban por funciones miembro y funciones virtuales, o con enlaces a otros objetos (llamados comportamientos) por otros programadores que renovaron ese antiguo proyecto.
Comencé a comprender la POO cuando comencé a sentir la necesidad de ello: segregación, polimorfismo y comportamientos definidos en tiempo de ejecución.
Hoy trabajo con OOP, pero no lo considero una doctrina para servir: solo un "idioma común" (conjunto de ...) que nos permite hablar juntos sin la necesidad de proporcionar largas explicaciones y descripciones todo el tiempo . De hecho, es más una "convención" que otra cosa. Después de todo, todo lo que hace OOP es -toda- "si luego ir a": simplemente lo hace "multicapa". De ahí la abstracción y modismos sobre modismos.
Ingnóralos. Hasta que no sienta la necesidad de ellos, ni siquiera intente explicar: los sentirá como una forma complicada de hacer cosas simples. Y ella tiene razón ... hasta que lo que hace es, de hecho, simple.
Nadie pensará "organizar un escritorio" si solo hay cuatro cosas encima. Tiene sentido cuando las cosas de arriba comienzan a interferir entre sí. Ese es el momento para que entre OOP.
No necesita OOP para trabajar con C ++. Toda la biblioteca estándar de C ++ no está diseñada en términos de OOP (aunque puede cooperar con ella), y C ++ no es Java.
En mi experiencia, los peores maestros y programadores de C ++ son los que provienen de Java, y enseñan todos sus prejuicios acerca de que todo no es OOP, desnaturalizando un lenguaje como C ++ que no es (solo) para OOP.
Permítanme sugerir un buen libro para aquellos que quieren acercarse a C ++: C ++ acelerado : lo llevará a los modismos de C ++ sin pretender seguir una doctrina predefinida.