One of the most crucial elements that any book on OOP can provide is a baseline grounding so that later in learning about object oriented programming, the reader knows what others are talking about. This book requires attention from page 1 as the author walks the reader through this complex process, not overlooking what many authors may assume to be obvious. For example, encapsulation is clarified by noting that it is synonomous with component, module or bean. Not a big deal unless you're used to using "component" as an object you can load in Flash. Interestingly, most OOP was developed before the Internet, and so often you will see other terms, like "client" used in a wholly different way than you will find in a "client-server" pair.
Being adverse to "gimmick books", I ignore the "...in 21 Days" portion of the title. The author doesn't get caught up in such cleverness by a marketing wonk. Rather, you can read it and later use it as a solid reference book. After having gone on to design patterns (which are nicely introduced in this book as well), I keep coming back to this book and finding more gems. The fact that I understand OOP much better now than when I first read this book--and have still returned to this book after going through several others attests to this book's value.
It's examples are all in Java, and I'm not a Java programmer. However, that doesn't matter, if you're learning OOP for anything from C# to ActionScript 3.0, there's much to be learned in this work.