An Introduction To Object-Oriented Programming by TimBudd.
ISBN 0201760312 3rd edition--other editions are available. Called ThePlatypusBook due to the picture of the platypus on the cover). Quite good work on the subject of OOP, covering numerous OO languages and technologies. Occupies a good middle-ground between academia and industry--the book is WellGrounded? in theory and isn't tied to any particular tool or methodology (and although this book is not as comprehensive as ObjectOrientedSoftwareConstruction, it has the advantage of being impartial--OOSC tends to read like an EiffelLanguage sales brochure at times). On the other hand it is quite accessible and readable by industry programmers lacking advanced degrees in computer science. Quotes KentBeck quite a bit.
Q: How does it deal with topics such as the value of hierarchies and OO's relationship to databases?
A: On the concept of "hierarchies"; the book discusses both hierarchical (SingleInheritance) and non-hierarchical (MultipleInheritance, structural subtyping aka DuckTyping) subtyping models. The book does not consider databases at all (or any other PersistenceMechanism).
DatabasesAreMoreThanJustStorage. It is an important topic because almost any biz app worth its weight will use a database. What sort of domain examples does it use?CategoryBook