La verdad yo personalmente te recomiendo aprender los fundamentos de la OO y su teoria. Lo fundamental és aprender a pensar en OO. Así como un fotografo de blanco y negro tiene que ver en blanco y nego. Al plantearte un problema tienes que crear mentalmente un analisis OO.
El siguiente paso és estudiar los Patrones existentes, (te recomiendo utilizar el UML por ser el mas estandar y genérico). Ay multitud de patrones, peró yo me quedaria con los mas comunes, tipo patron iterador, etc...
A partir de aquí puedes aplicar tus conocimientos a cualquier lenguaje de programación. De los mas fideles a OO puedes utilizar Eiffel, de los mas prácticos usaria Java.
Peró personalmente el paso al estudio de OO con lenguages de programació lo dejaria para el final, pués todos los lenguajes presentan restricciones respecto a la concepción pura de la OO.
Aprender OO
(Puntos:1)