It doesn't have to be about Java, Java or C# examples would be great though. I was thinking the "Thinking in Java" book would be good, but I've heard it's a quick rundown of OOP. I'm looking for a thorough discussion about OOP and practical uses for it. Thanks.
I don't know what your programming background is so this is just based on my own experience. Your mileage may vary. In general, I would say that it's true that Bruce Eckel's "Thinking in Java" does not really discuss OOP as much as it does the mechanics and syntax of the Java language itself. The first two chapters give you a quick overview of OOP concepts but the rest of the book deals more on syntax and usage of the core library classes. For someone with some good programming experience of any kind (not necessarily OO), I would recommend reading some of the articles on OO Design Principles that you can find at http://www.objectmentor.com Martin Fowler's "Refactoring" book is a good source of not only "good OO" code but also "not-so-good OO" code. The nice thing about seeing both is that you can more easily appreciate the advantages that the good OO code has over the not-so-good. Another book I'd look at would be Craig Larman's book on UML and Patterns. The book emphasizes several OO design principles that any good OO programmer should understand and know how to apply.
The best ideas are the crazy ones. If you have a crazy idea and it works, it's really valuable.—Kent Beck
Foll books should help build fundamental clear picture about OOPS concepts and development 1. Object-Oriented Analysis and Design with Applications by Grady Booch 2. Object-Oriented Modeling and Design by James Rumbaugh and other UML books will be also helpful.
The best teams have no specialists, only general contributors with special skills
Ruth Stout was famous for gardening naked. Just like this tiny ad: