Title: Object-Oriented Programming
Description: This book describes a practical approach to object-oriented programming and design. After explaining the basic concepts of object-orientation the book shows with numerous realistic examples how this technique can be used to write extensible and well-structured software. It discussed typical design patterns and shows implementation techniques for frequently occurring problems to be solved with object-oriented programming. Object-oriented programming is programming in the large. Although it is possible to explain the basic concepts withsmall examples it is necessary to study large and realistic applications in order to understand the power and elegance of this new technique. Therefore the book contains the design and full source code of a realistic case study - a window system with extensible text and graphics editors. The programming language used in this book is Oberon-2, the latest offspringof the Pascal and Modula-2 family of languages developed at ETH Z}rich. Besides satisfying the principle requirements of modern software such asstrong type checking, modularity and object-orientedness one of the major advantages of this language is its simplicity. Anyone who understands Pascal can also read Oberon-2 programs. Compilers for Oberon-2 as well as the source code of the case study in this book are freely available from ETH.