Timothy Budd lays out the principles of object-oriented programming, illustrating these principles in a language independent manner. You will discover the basic concepts of object-oriented programming as well as the principles of designing by responsibility and encapsulation.
Features Explains the terminology of object-oriented programming.
Covers advanced topics such as metaclasses, delegation, design patterns, application frameworks, and techniques used in the implementation of object-oriented languages. Includes case studies of object-oriented applications illustrating important ideas and comparing the various features of different languages. Complete source code is provided in the appendices.