A very good book and true classic is Grady Booch's Object-Oriented Analysis and Design with Applications. It gives you a solid theoretical background on the idea of object orientation and also has a couple of walkthroughs for real world applications. Less relevant today is the material about the notation (clouds, anyone?).