I remember the exact moment I "got" what a class in C++ was. It was a true relevation. Even though I had been programming for a few years it wasn't until I was 19 that I fully understood the concept of a class.
I can definitely say that I was a different programmer after that day. It was like leveling up in an RPG.
It took me a few more years to get object oriented design...
Yeah, maybe I'm a slow learner (although I have seen enough of other people's code to conclude that I'm not alone) but the point is that at different stages of my journey to learn the programming craft I have been open to different ideas and insights.
I don't think there's one book that alone would have taken me all the way.