You may want to try this book. I heard so many good things
about it from colleagues that I had to get a copy for
myself. The beauty of this book is that it doesn't really
center around the programming languages used, but rather
the 'paradigm shift' in the way of thinking to provide a
solution to a problem. It hasn't disappointed me yet....
Object-Oriented Software Construction By Bertrand Meyer