Hola Felipe, ahora tu diseño es orientado a objetos. Has creado objetos que interaccionan entre sí, y es el main quien dirige la dinámica de la interacción. Se puede decir que "vas por buen camino". Hay cuestiones que deberás ir perfilando. Por ejemplo, una cuestión importante en el diseño orientado a objetos es definir bien las responsabilidades de cada objeto. Por ejemplo, un objeto CapturaTeclado es poco lógico que tenga entre sus funciones mostrar por pantalla "Inicio de programa", eso no sería un buen diseño. ¿Por qué? Porque un objeto de este tipo debe tener bien delimitadas sus funciones y estas ser acordes con el nombre del objeto. Una CapturaTeclado debería limitarse a representar y facilitar métodos de una captura de teclado, no a mostrar mensajes por pantalla ni otras cosas. Pero no te preocupes ahora de estas cuestiones, pues es algo que se debe ir asimilando poco a poco. A través de lectura, participación en foros, práctica, realización de ejercicios, etc. irás mejorando poco a poco.
Saludos