Developing an application in an object-oriented language does not mean one is developing an object-oriented application. It is not only possible, but common, to find applications written in an object-oriented language, such as C++, Java, or even ActionScript 2.0, that follow none of the principles of OOP. An object-oriented language has the tools necessary for one to do OOP, although, as the clich goes, "Owning a hammer won't make you a carpenter ."
OOP involves more than the use of an object-oriented language; it requires planning, thought, and design. It also requires the will to implement the system using object-oriented principles. Implementing an application using OOP can seem a daunting task. Many newcomers will dip their toes in the proverbial OOP waters, but fall back on the familiar patterns of procedural programming. Nonetheless, with a bit of practice, newcomers will soon realize that building systems with OOP reaps many benefits.
Object-oriented design is covered in detail in Chapter 8.