[N.A.B.G. picture]

This page contains information about the book "Programming with Class", N.A.B.Gray, publisher J. Wiley, 1994.


Section 1 Introduction to Object-oriented Programming


The three chapters in this section introduce students to Object-oriented Programming (OOP).

Why OOP?

The first chapter is a justification for OOP. Why should students look at something other than the procedural style programs that have formed the main focus of their studies? The arguments used to justify OOP are derived from the presentations of Cox, Meyer, and other authors. They are based primarily on Software Engineering concerns. OO programming styles are seen as the best way of constructing reliable large scale software systems that are capable of evolving to meet the changing demands of their users.

A history of OOP

The second chapter is really an overview of the development of the OOP paradigm, starting with Simula and Smalltalk. These languages established OOP styles but, for various reasons, remained "niche" languages - outside the main stream of software development. The potential for using OOP in wider contexts was perceived in the early '80s, and a variety of "hybrid" languages emerged. These hybrids apply a veneer of object orientation to a substrate of an existing procedural language such as Pascal or C. While new OOP languages continue to appear, it is the hybrids particularly those based on C that attract most current usage. Hybrid languages have the advantage of allowing organizations that have substantial investments in existing software, all written in procedural languages, to make an evolutionary change to an OO style.

How do OO languages and programs work?

The final chapter in this section provides an overview of how the hybrid OO languages work. It treats both language/compile-time issues (how are objects defined) and run-time issues (what are objects like in a computer's memory, how do they "know" what functions they should execute). The examples used focus mainly on C++ and Object Pascal.

Reference books

The materials in these chapters should be supplemented with material from the following books:


Last modified March 1996. Please email questions to nabg@cs.uow.edu.au