Object Orientation

OO Fundamentals

Object-orientation can be seen as a kind of technique of organizing a system in terms of objects and their relations. It is supposed to stand closer to the real world as opposed to techniques predating object-orientation. Its characteristic is the distinction between the observable behaviour of objects and the implementation of the behaviours.

Objects

An object has a
state
for recording the history of an object upon which future behaviour can be based.
behaviour
the observable effects based on its state and the relations with other objects.
identity
as known by other objects, either by name or by reference.

Relations

Relations between objects are expressed by interactions in the form of message passing.

Abstraction

Manipulation of an object can only be done through its relations with other objects. Thereby hiding the implementation of its behaviour and the recording of its state.