The Object-Oriented Reuse Project


Introduction

The purpose of the project is to encourage you to explore and understand the object-oriented principles discussed in the course. In particular it should allow you to demonstrate some of the problems that occur with usage of various object-oriented features. So your goal is to use the features of the language correctly and appropriately. The typical language of implementation is C++, but you may use Eiffel, Smalltalk or Java if you prefer.


Contents

0. Design a simple object-oriented application in order to demonstrate the use of object-oriented language features.

1. Develop 4 or more classes up to "canonical class" standard.

2. The area of application is open to you but beware of "database" type applications as they often involve a lot of repetition. Examples of the types of problems are given in 3 to 6 below:

3.Show the problems of Multiple Inheritance.

4. Show how an "invariant" function can be used to enforce conformance.

5. Show how "smart pointers" can be used to allow implicit delegation.

6. Show how "heterogeneous types " can be handled.

7. Provide:

At least 1 page Design Description

Commented code which explains the structures used.

Sample input/output session.

Supply this on the due date completely in A4 format with a proper title sheet giving name number, class etc. EMail this to me at renaat.

Marks: 15%

Due Dates April 30 1999