The book describes a practical approach to object-oriented programming and design. After explaining the basic concepts of object orientation it shows with numerous realistic examples how this technique can be used to write extensible and well-structured software. It addresses programmers and practitioners.