Reading material
The course webpage.
Additional material
- Object-oriented programming is not simply a few new features added
to programming languages. It is a new way of thinking about
the process of decomposing problems and developing programming solutions.
- Object-oriented programming views a program as a collection of
objects. Each object is responsible for specific tasks. It is
by interaction of objects that computation proceeds.
- An object is an encapsulation of data and operations on
the data.
- Every object is an instance of some class. The behaviour of
objects is dictated by their class. All instances of the same class
will behave similarly.
- An object will exhibit its behaviour by invoking a method in
response to a message. The interpretation of the message is
decided by the object and may differ from one class to another.
- Classes can be organized in a hierarchical way. Data and operations
on the data associated with classes higher in the hierarchy can be
inherited by classes lower in the hierarchy.
- By reducing the interdependency among software components, object-oriented
programming permits the development of reusable software. These components
can be developed and tested independently.
- Reusable components permit the programmer to deal with problems on a higher
level of abstraction. We can define and manipulate objects simply in terms
of the messages they understand and a description of the tasks they
perform, ignoring the implementation details.
The above is based on Section 1.5 of
- Timothy Budd.
An Introduction to Object-Oriented Programming.
Addison-Wesley. 1991.