Object-Oriented Programming as Modeling

Ole Lehrmann Madsen

Aarhus University

Birger Møller-Pedersen

Oslo University

This book is a general introduction to object-oriented programming with emphasis on modeling. Most text books on object-oriented programming do not consider modeling. On the other hand there is a modeling community around UML and other modeling languages and here there is little emphasis on programming.

The first object-oriented language, SIMULA, was intended for programming as well as modeling, but unfortunatly this is not central in mainstream object-oriented programming.

The claim of this book is that object-oriented programming implies that you construct a model of a given application/problem domain. We thus emphasize modeling in our introduction to object-oriented programming and we demonstrate that modeling can be applied without using UML.

In this book, we use a simple abstract language to describe programs (and models). The plan is to supply descriptions of how to implement such programs in mainstream languages like, C++, Java, C# and Python and perhpas others. We do, however, think that the current version may be a useful supplment to most courses on object-oriented programming and we think most instructors should be able to build the bridge between this book and textbooks about a given programming language.

If you are only interested in learning object-oriented programming you may skip the Preface and start with the Introduction.